一、虚拟主机配置原理
虚拟主机技术允许在单台物理服务器上部署多个独立网站,通过不同的访问标识实现资源隔离。主流Web服务器(Nginx/Apache)支持三种实现方式:基于IP地址、端口号或域名解析。每种方式都需在服务器配置文件中定义独立的服务单元。
二、基于IP地址的配置
需为服务器配置多个IP地址,每个虚拟主机绑定独立IP。操作步骤:
- 添加虚拟网卡:
ifconfig ens33:1 192.168.1.101/24 up
- 创建网站根目录:
mkdir -p /data/nginx/ipvhost
- 修改Nginx配置:
server { listen 192.168.1.101:80; server_name _; root /data/nginx/ipvhost; }
示例:Nginx基于IP的配置片段
此方式需云服务器支持多IP绑定,适合内部系统隔离。
三、基于端口号的配置
通过不同端口区分服务,适合临时测试环境。实现步骤:
- 修改监听端口:
listen 8080;
- 创建独立日志文件:
access_log /var/log/nginx/8080_access.log;
- 设置防火墙规则开放端口
注意避免使用保留端口(0-1023),需在配置中显式声明每个端口。
四、基于域名的配置
最常用的生产环境方案,通过域名解析实现多站点托管。核心配置:
- DNS解析:将不同域名指向服务器IP
- 配置server_name字段:
server_name www.example.com;
- 设置SSL证书(可选):实现HTTPS加密
Apache需启用NameVirtualHost
指令,Nginx原生支持多域名解析。
三种配置方式各有适用场景:基于IP适合内部系统隔离,端口配置用于临时环境,域名方案是生产环境首选。实际部署时应结合网络安全策略,通过Directory
指令设置访问权限,并定期检查配置文件语法。