Linux中Apache与Web之虚拟主机配置指南
一、虚拟主机概述
目的:在同一台服务器上部署多个独立站点(如 baidu、taobao)。
实现方式:
- 相同 IP + 不同端口
- 不同 IP + 相同端口
- 相同 IP + 相同端口 + 不同域名(FQDN)
二、配置步骤
基于 Linux中DNS系统搭建与配置指南 后
1、相同配置
创建目录:
cd /var/www/ mkdir yanyvhang mkdir wiltjer echo yanyvhang > yanyvhang/index.html # 创建yanyvhang/index.html并输入内容 echo wiltjer > wiltjer/index.html # 创建wiltjer/index.html并输入内容
复制虚拟主机模板:
cp -p /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/httpd/conf.d/
2、相同 IP、不同端口
使用示例:
- yyh.example.com 使用 192.168.100.20:80
- wil.example.com 使用 192.168.100.20:8080
编辑主配置文件:
vim /etc/httpd/conf.d/httpd-vhosts.conf # 主配置文件 <VirtualHost 192.168.100.20:80> # IP地址和端口号 DocumentRoot "/var/www/yanyvhang" # 告诉配置文件位置在哪里 </VirtualHost> Listen 8080 # 监听8080端口 <VirtualHost 192.168.100.20:8080> # IP地址和端口号 DocumentRoot "/var/www/wiltjer" # 告诉配置文件位置在哪里 </VirtualHost> systemctl restart httpd # 重启服务 systemctl enable httpd # 下次开机自启
3、不同ip、相同的端口
使用示例:
- yyh.example.com 使用 192.168.100.20:80
- wil.example.com 使用 192.168.100.200:80
编辑主配置文件:
vim /etc/httpd/conf.d/httpd-vhosts.conf # 主配置文件 <VirtualHost 192.168.100.20:80> # IP地址和端口号 DocumentRoot "/var/www/yanyvhang" # 告诉配置文件位置在哪里 </VirtualHost> <VirtualHost 192.168.100.200:80> # IP地址和端口号 DocumentRoot "/var/www/wiltjer" # 告诉配置文件位置在哪里 </VirtualHost> systemctl restart httpd # 重启服务 systemctl enable httpd # 下次开机自启
编辑网卡配置:
vim /etc/sysconfig/network-scripts/ifcfg-ens33 # 网卡配置文件 IPADDR1=192.168.100.200 # 额外添加的IP PREFIX1=24 # 额外添加的IP的子网掩码 systemctl restart network # 重启服务 systemctl enable network # 下次开机自启
4、相同ip、相同端口、不同的FQDN
使用示例:
- yyh.example.com 使用 192.168.100.20:80
- wil.example.com 使用 192.168.100.20:80
编辑主配置文件:
vim /etc/httpd/conf.d/httpd-vhosts.conf # 主配置文件 <VirtualHost 192.168.100.20:80> # IP地址和端口号 DocumentRoot "/var/www/yanyvhang" # 告诉配置文件位置在哪里 ServerName yyh.example.com # 完整域名 </VirtualHost> <VirtualHost 192.168.100.20:80> # IP地址和端口号 DocumentRoot "/var/www/wiltjer" # 告诉配置文件位置在哪里 ServerName wil.example.com # 完整域名 </VirtualHost> systemctl restart httpd # 重启服务 systemctl enable httpd # 下次开机自启
编辑正向解析文件:
vim /var/named/yyh.com # 正向解析文件 yyh IN A 192.168.100.20 # 添加FQDN对应IP wil IN A 192.168.100.20 # 添加FQDN对应IP systemctl restart named systemctl enable named
三、总结
方式 | 适用场景 | 关键区别 |
---|---|---|
同 IP + 不同端口 | 测试环境或内部服务 | 需监听多端口 |
不同 IP + 同端口 | 拥有多个公网 IP 的服务器 | 需绑定多个 IP |
同 IP + 同端口 + 域名 | 生产环境(最常见) | 依赖 ServerName 区分站点 |