温馨提示×

centos lamp怎么配虚拟主机

小樊
45
2026-09-24 11:49:20
栏目: 云计算

CentOS + LAMP(Linux + Apache + MySQL/MariaDB + PHP) 环境下配置 Apache 虚拟主机(VirtualHost),常见做法如下(以 CentOS 7/8 + Apache 2.4 为例)。


一、前提条件

  1. 已安装 LAMP
yum install httpd mariadb-server php php-mysql -y
systemctl start httpd
systemctl enable httpd
  1. 确认 Apache 已运行
systemctl status httpd

二、创建网站目录

假设我们要配置两个站点:

  • www.a.com/var/www/a
  • www.b.com/var/www/b
mkdir -p /var/www/a
mkdir -p /var/www/b

echo "A Site" > /var/www/a/index.html
echo "B Site" > /var/www/b/index.html

三、创建虚拟主机配置文件

Apache 推荐在:

/etc/httpd/conf.d/

目录下新建 .conf 文件

1. 配置 a.com

vi /etc/httpd/conf.d/a.conf

内容:

<VirtualHost *:80>
    ServerName www.a.com
    DocumentRoot /var/www/a
    <Directory /var/www/a>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

2. 配置 b.com

vi /etc/httpd/conf.d/b.conf

内容:

<VirtualHost *:80>
    ServerName www.b.com
    DocumentRoot /var/www/b
    <Directory /var/www/b>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

四、关闭默认站点(可选)

vi /etc/httpd/conf/httpd.conf

注释掉或删除:

# DocumentRoot "/var/www/html"

五、检查并重启 Apache

httpd -t
systemctl restart httpd

六、本地测试(无 DNS 时)

修改本地 hosts 文件(Windows / Linux 均可)

192.168.1.100 www.a.com
192.168.1.100 www.b.com

浏览器访问:

http://www.a.com
http://www.b.com

七、常见问题

1. 403 Forbidden

  • 目录权限问题
chown -R apache:apache /var/www/a
chmod -R 755 /var/www/a

2. 使用 HTTPS

需要:

  • 安装 mod_ssl
yum install mod_ssl -y
  • 配置 *:443 的 VirtualHost + 证书

3. CentOS 8 注意

可能使用 php-fpm,需要:

systemctl start php-fpm

如果你告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 是否用 域名 / IP / 本地测试
  • 是否需要 HTTPS / 多 PHP 版本

我可以直接给你一套可直接复制的配置

0