在 CentOS 上搭建 LAMP(Linux + Apache + MySQL/MariaDB + PHP)环境后,配置 Apache 虚拟主机(Virtual Host) 是非常常见的需求。下面以 CentOS 7/8 + Apache(httpd) 为例,一步步说明。
确保已安装 LAMP:
yum install httpd mariadb-server php php-mysql -y
systemctl start httpd
systemctl enable 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/
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>
ErrorLog /var/log/httpd/a_error.log
CustomLog /var/log/httpd/a_access.log combined
</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>
ErrorLog /var/log/httpd/b_error.log
CustomLog /var/log/httpd/b_access.log combined
</VirtualHost>
httpd -t
systemctl restart httpd
修改本地 hosts 文件(Windows / Linux / macOS):
服务器IP www.a.com
服务器IP www.b.com
示例:
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
确保 index.php 在目录中,并测试:
<?php phpinfo(); ?>
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
如果你说明:
我可以给你更精确的配置示例。