centos

centos apache2多站点配置

小樊
40
2025-08-22 18:44:47
栏目: 智能运维

在CentOS上配置Apache2以支持多个站点,你需要按照以下步骤操作:

  1. 安装Apache: 如果你还没有安装Apache,请使用以下命令安装:

    sudo yum install httpd
    
  2. 启动Apache服务:

    sudo systemctl start httpd
    
  3. 设置Apache开机自启:

    sudo systemctl enable httpd
    
  4. 创建站点目录: 为每个站点创建一个目录,例如:

    sudo mkdir -p /var/www/site1.com/public_html
    sudo mkdir -p /var/www/site2.com/public_html
    
  5. 更改站点目录权限:

    sudo chown -R apache:apache /var/www/site1.com/public_html
    sudo chown -R apache:apache /var/www/site2.com/public_html
    
  6. 创建虚拟主机配置文件: 在/etc/httpd/conf.d/目录下为每个站点创建一个虚拟主机配置文件,例如site1.com.confsite2.com.conf

    示例site1.com.conf

    <VirtualHost *:80>
        ServerName site1.com
        ServerAlias www.site1.com
        DocumentRoot /var/www/site1.com/public_html
        ErrorLog /var/log/httpd/site1.com-error_log
        CustomLog /var/log/httpd/site1.com-access_log common
    </VirtualHost>
    

    示例site2.com.conf

    <VirtualHost *:80>
        ServerName site2.com
        ServerAlias www.site2.com
        DocumentRoot /var/www/site2.com/public_html
        ErrorLog /var/log/httpd/site2.com-error_log
        CustomLog /var/log/httpd/site2.com-access_log common
    </VirtualHost>
    
  7. 重启Apache服务:

    sudo systemctl restart httpd
    
  8. 配置DNS解析: 为了让用户通过域名访问你的站点,你需要配置DNS解析,将域名指向你的服务器IP地址。

  9. 配置防火墙: 如果你的服务器启用了防火墙,确保开放HTTP(80)和HTTPS(443)端口:

    sudo firewall-cmd --permanent --zone=public --add-service=http
    sudo firewall-cmd --permanent --zone=public --add-service=https
    sudo firewall-cmd --reload
    

现在,你应该可以通过访问site1.comsite2.com来访问你的站点。如果你还没有配置SSL证书,那么访问这些站点时浏览器会显示警告信息。你可以考虑使用Let’s Encrypt免费获取SSL证书并配置HTTPS。

0
看了该问题的人还看了