服务器基于名称的虚拟主机搭建指南
技术概述
基于名称的虚拟主机允许在单一服务器上通过不同域名部署多个网站,通过HTTP协议Host头实现请求分发。相较于基于IP或端口的方案,此方法无需额外网络资源且便于管理。
环境准备
基础环境要求:
- Linux服务器(推荐CentOS/RHEL 8+)
- Apache 2.4+
- BIND DNS服务
执行以下命令安装核心组件:
yum install httpd bind-utils -y
systemctl enable --now httpd named
DNS配置
- 编辑
/etc/named.conf
添加新区域 - 创建区域文件
/var/named/example.com.zone
:@ IN A 192.168.100.10 www IN A 192.168.100.10
- 重启DNS服务:
systemctl restart named
Apache虚拟主机设置
核心配置步骤:
- 在主配置文件
httpd.conf
启用虚拟主机模块:Include conf/extra/httpd-vhosts.conf
- 创建虚拟主机配置文件:
ServerName www.example1.com DocumentRoot /var/www/example1
- 创建网站目录并设置权限:
mkdir -p /var/www/example{1,2} chown apache:apache /var/www/example*
测试与验证
完成配置后执行:
- 重启Apache服务:
systemctl restart httpd
- 在客户端配置hosts文件:
192.168.100.10 www.example1.com 192.168.100.10 www.example2.com
- 浏览器访问测试域名,确认显示对应站点的内容
若访问失败,检查防火墙规则和服务日志:journalctl -u httpd