温馨提示×

centos apache怎样设置虚拟主机

小樊
38
2026-09-24 05:40:13
栏目: 云计算

在 CentOS 上配置 Apache 虚拟主机(Virtual Host),通常步骤如下(以 CentOS 7/8 + Apache(httpd) 为例):


一、安装 Apache

# CentOS 7
yum install httpd -y

# CentOS 8
dnf install httpd -y

启动并设置开机自启:

systemctl start httpd
systemctl enable httpd

二、关闭默认虚拟主机(可选)

编辑主配置文件:

vim /etc/httpd/conf/httpd.conf

注释或确认以下行(一般默认已存在):

# DocumentRoot "/var/www/html"

三、创建网站目录

mkdir -p /var/www/example.com/public_html
mkdir -p /var/www/test.com/public_html

设置权限:

chown -R apache:apache /var/www
chmod -R 755 /var/www

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

在 CentOS 中,推荐在:

/etc/httpd/conf.d/

目录下创建 .conf 文件。

示例:example.com

vim /etc/httpd/conf.d/example.com.conf

内容示例:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html

    <Directory /var/www/example.com/public_html>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog /var/log/httpd/example.com-error.log
    CustomLog /var/log/httpd/example.com-access.log combined
</VirtualHost>

示例:test.com

vim /etc/httpd/conf.d/test.com.conf
<VirtualHost *:80>
    ServerName test.com
    DocumentRoot /var/www/test.com/public_html

    <Directory /var/www/test.com/public_html>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

五、测试配置并重启 Apache

httpd -t
systemctl restart httpd

六、本地测试(无 DNS 时)

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

192.168.1.100 example.com
192.168.1.100 test.com

浏览器访问:

http://example.com
http://test.com

七、配置 HTTPS(可选)

使用 Let’s Encrypt:

yum install certbot python2-certbot-apache -y
certbot --apache -d example.com -d www.example.com

八、常见问题

  • 403 Forbidden:目录权限或 SELinux 问题
    setsebool -P httpd_read_user_content 1
    
  • 默认站点优先:确保 conf.d 中虚拟主机配置正确加载

如果你需要 基于端口 / IP / HTTPS / 反向代理 的虚拟主机配置,也可以告诉我具体需求。

0 踩