2025-05-22 01:49:38
848

如何配置Apache基于域名、IP及端口的虚拟主机?

摘要
本文详细讲解Apache虚拟主机的三种配置方式,涵盖基于IP、域名及端口的实现步骤,提供配置文件示例与操作指令,适用于Web服务器多站点托管场景。...

一、配置前的准备工作

在配置Apache虚拟主机前,需完成以下基础操作:

  1. 安装Apache服务:通过yum install httpd -y命令安装所需软件包。
  2. 关闭防火墙与SELinux:执行systemctl stop firewalldsetenforce 0确保服务不受限制。
  3. 禁用默认主机:修改/etc/httpd/conf/httpd.conf文件,注释DocumentRoot相关行以禁用默认站点。

二、基于IP的虚拟主机配置

适用于服务器拥有多个IP地址的场景:

  1. 添加多个IP地址:使用ip addr add 192.168.x.x/24 dev eth0为网卡绑定新IP。
  2. 创建虚拟主机配置文件:在/etc/httpd/conf.d/目录新建virtual.conf,写入以下内容:
    
    DocumentRoot "/www/site1
    ServerName www.site1.com
    
    Require all granted
    
    
  3. 创建站点目录并重启服务:执行mkdir /www/site1systemctl restart httpd完成配置。

三、基于域名的虚拟主机配置

通过不同域名访问同一服务器IP的站点:

  1. 修改主配置文件:确保httpd.conf中包含Include conf/extra/httpd-vhosts.conf
  2. 配置虚拟主机块:在httpd-vhosts.conf中添加:
    
    DocumentRoot "/www/site2
    ServerName www.site2.com
    ServerAlias site2.com
    
    AllowOverride All
    Require all granted
    
    
  3. 配置本地DNS解析:在客户端/etc/hosts中添加域名与IP映射关系。

四、基于端口的虚拟主机配置

使用不同端口区分站点访问:

  1. 开放新端口:在httpd.conf中添加Listen 8080指令。
  2. 创建端口配置块:
    
    DocumentRoot "/www/site3
    ServerName www.site3.com
    
    Require all granted
    
    
  3. 调整SELinux策略:若端口非标准,需执行semanage port -a -t http_port_t -p tcp 8080

结论:Apache虚拟主机支持通过不同IP、域名或端口实现多站点托管。基于IP的配置适合多公网IP环境,基于域名的方式成本最低,基于端口的方案适用于临时测试场景。所有配置完成后均需执行apachectl configtest验证语法正确性。

声明:文章不代表云主机测评网观点及立场,不构成本平台任何投资建议。投资决策需建立在独立思考之上,本文内容仅供参考,风险自担!转载请注明出处!侵权必究!
回顶部