在 CentOS + LAMP(Linux + Apache + MySQL/MariaDB + PHP) 环境下配置 Apache 虚拟主机(VirtualHost),常见做法如下(以 CentOS 7/8 + Apache 2.4 为例)。
yum install httpd mariadb-server php php-mysql -y
systemctl start httpd
systemctl enable httpd
systemctl status httpd
假设我们要配置两个站点:
www.a.com → /var/www/awww.b.com → /var/www/bmkdir -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 文件
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>
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"
httpd -t
systemctl restart httpd
修改本地 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
chown -R apache:apache /var/www/a
chmod -R 755 /var/www/a
需要:
yum install mod_ssl -y
*:443 的 VirtualHost + 证书可能使用 php-fpm,需要:
systemctl start php-fpm
如果你告诉我:
我可以直接给你一套可直接复制的配置。