在 CentOS 上使用 Apache(httpd) 配置虚拟主机(VirtualHost),通常步骤如下(以 CentOS 7/8 为例,适用于 Apache 2.4):
yum install httpd -y # CentOS 7
# 或
dnf install httpd -y # CentOS 8
systemctl start httpd
systemctl enable httpd
setenforce 0
或永久关闭(修改 /etc/selinux/config)
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
推荐放在:
/etc/httpd/conf.d/
vi /etc/httpd/conf.d/vhost.conf
<VirtualHost *:80>
ServerName www.a.com
DocumentRoot /var/www/a
<Directory /var/www/a>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName www.b.com
DocumentRoot /var/www/b
<Directory /var/www/b>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
httpd -t
systemctl restart httpd
修改本地 hosts 文件(Windows / Linux 均可):
服务器IP www.a.com
服务器IP www.b.com
浏览器访问:
http://www.a.com
http://www.b.com
vi /etc/httpd/conf/httpd.conf
添加:
Listen 8080
<VirtualHost *:8080>
DocumentRoot /var/www/port8080
</VirtualHost>
chmod -R 755 /var/www
chown -R apache:apache /var/www
setsebool -P httpd_read_user_content 1
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
如果你需要 HTTPS(SSL)虚拟主机 或 WordPress 专用配置,可以继续问我。