centos

如何在CentOS上部署Apache2多站点

小樊
40
2025-07-24 20:01:39
栏目: 智能运维

在CentOS上部署Apache2多站点(即虚拟主机)是一个常见的任务。以下是一个详细的步骤指南,帮助你在CentOS上配置多个Apache站点。

前提条件

  1. 安装CentOS:确保你已经安装了CentOS操作系统。
  2. 更新系统:运行以下命令更新系统包:
    sudo yum update -y
    

安装Apache

  1. 安装Apache

    sudo yum install httpd -y
    
  2. 启动Apache服务

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

    sudo systemctl enable httpd
    

配置防火墙

  1. 允许HTTP和HTTPS流量
    sudo firewall-cmd --permanent --zone=public --add-service=http
    sudo firewall-cmd --permanent --zone=public --add-service=https
    sudo firewall-cmd --reload
    

创建虚拟主机配置文件

  1. 创建站点目录: 为每个站点创建一个目录,例如:

    sudo mkdir -p /var/www/site1.com/html
    sudo mkdir -p /var/www/site2.com/html
    
  2. 设置目录权限

    sudo chown -R apache:apache /var/www/site1.com/html
    sudo chown -R apache:apache /var/www/site2.com/html
    sudo chmod -R 755 /var/www/site1.com/html
    sudo chmod -R 755 /var/www/site2.com/html
    
  3. 创建虚拟主机配置文件: 在/etc/httpd/conf.d/目录下创建虚拟主机配置文件,例如site1.confsite2.conf

    site1.conf

    <VirtualHost *:80>
        ServerAdmin webmaster@site1.com
        DocumentRoot /var/www/site1.com/html
        ServerName site1.com
        ServerAlias www.site1.com
        ErrorLog /var/log/httpd/site1.com-error.log
        CustomLog /var/log/httpd/site1.com-access.log combined
    </VirtualHost>
    

    site2.conf

    <VirtualHost *:80>
        ServerAdmin webmaster@site2.com
        DocumentRoot /var/www/site2.com/html
        ServerName site2.com
        ServerAlias www.site2.com
        ErrorLog /var/log/httpd/site2.com-error.log
        CustomLog /var/log/httpd/site2.com-access.log combined
    </VirtualHost>
    

配置DNS

确保你的域名(例如site1.comsite2.com)已经指向你的服务器IP地址。你可以通过编辑DNS记录来实现这一点。

重启Apache服务

  1. 重启Apache
    sudo systemctl restart httpd
    

测试配置

  1. 打开浏览器,访问http://site1.comhttp://site2.com,确保每个站点都能正确显示。

可选:配置SSL

如果你需要为站点配置SSL,可以使用Let’s Encrypt免费证书。以下是使用Certbot安装和配置SSL的步骤:

  1. 安装Certbot

    sudo yum install certbot python2-certbot-apache -y
    
  2. 获取并安装证书

    sudo certbot --apache -d site1.com -d www.site1.com
    sudo certbot --apache -d site2.com -d www.site2.com
    
  3. 按照提示完成配置

通过以上步骤,你应该能够在CentOS上成功部署Apache2多站点。如果有任何问题,请检查日志文件(例如/var/log/httpd/site1.com-error.log)以获取更多信息。

0
看了该问题的人还看了