一、虚拟主机配置前的准备
在配置虚拟主机前,需完成以下基础环境搭建:
- 安装Web服务器软件(如Apache或Nginx),通过包管理器完成安装;
- 关闭SELinux或防火墙,避免因安全策略导致服务异常;
- 创建测试网页目录,例如
/web/html
或/var/www/html
,并设置访问权限。
二、基于名称的虚拟主机配置
基于域名的虚拟主机通过HTTP请求中的Host
字段区分不同网站:
- Apache配置:在
httpd-vhosts.conf
中添加块,指定
ServerName
与DocumentRoot
; - Nginx配置:在
nginx.conf
的http
块中定义多个server
段,通过server_name
参数区分域名; - 需在本地
hosts
文件添加域名解析记录(如127.0.0.1 www.example.com
)。
三、基于IP的虚拟主机配置
通过绑定多个IP地址实现不同站点的隔离:
- 在Linux系统中使用
ifconfig
创建虚拟网络接口(如ens33:1
)并分配独立IP; - Apache需在
中指定IP地址,例如
;
- Nginx的
server
块中设置listen
参数为特定IP地址(如listen 192.168.78.132:80
)。
四、基于端口的虚拟主机配置
通过监听不同端口实现多站点共存:
- Apache配置:修改
httpd.conf
添加多个Listen
指令(如Listen 80
、Listen 8080
); - Nginx配置:在不同
server
块中设置listen
参数为不同端口号(如listen 8001
、listen 8002
); - 需确保防火墙开放对应端口。
五、结论与最佳实践
三种虚拟主机配置方式适用场景不同:基于域名适合多站点共享IP的场景,基于IP适用于需要严格隔离服务的场景,基于端口则适合临时测试或内部系统。建议优先使用基于域名的方案以提升可维护性,同时注意配置后使用nginx -t
或apachectl configtest
验证语法正确性。