温馨提示×

centos apache怎样设虚拟主机

小樊
37
2026-09-27 03:17:52
栏目: 云计算

在 CentOS 上使用 Apache(httpd) 配置虚拟主机(VirtualHost),通常步骤如下(以 CentOS 7/8 为例,适用于 Apache 2.4):


一、准备工作

1. 安装 Apache

yum install httpd -y        # CentOS 7
# 或
dnf install httpd -y        # CentOS 8

2. 启动并设置开机自启

systemctl start httpd
systemctl enable httpd

3. 关闭 SELinux(测试环境,可选)

setenforce 0

或永久关闭(修改 /etc/selinux/config)


二、基于域名的虚拟主机(最常用)

示例:

  • 域名1:www.a.com → /var/www/a
  • 域名2:www.b.com → /var/www/b

1. 创建网站目录

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

2. 创建虚拟主机配置文件

推荐放在:

/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>

3. 检查配置并重启

httpd -t
systemctl restart httpd

4. 本地测试(无 DNS 时)

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

服务器IP www.a.com
服务器IP www.b.com

浏览器访问:

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

三、基于端口的虚拟主机(补充)

1. 修改主配置监听端口

vi /etc/httpd/conf/httpd.conf

添加:

Listen 8080

2. 虚拟主机配置

<VirtualHost *:8080>
    DocumentRoot /var/www/port8080
</VirtualHost>

四、常见问题

1. 403 Forbidden

  • 目录权限不足
chmod -R 755 /var/www
chown -R apache:apache /var/www

2. SELinux 导致无法访问

setsebool -P httpd_read_user_content 1

3. 防火墙放行

firewall-cmd --permanent --add-service=http
firewall-cmd --reload

如果你需要 HTTPS(SSL)虚拟主机 或 WordPress 专用配置,可以继续问我。

0 踩