在Web开发和运维中,我们经常需要在同一台服务器上托管多个网站。Nginx作为高性能的Web服务器和反向代理工具,支持多种虚拟主机方式,其中IP虚拟主机是一种基于不同IP地址区分站点的方法。
IP虚拟主机(IP-based Virtual Host)是指通过为服务器绑定多个IP地址,每个IP地址对应一个独立的网站。当用户访问不同的IP地址时,Nginx会根据请求的目标IP返回对应的网站内容。
这种方式适用于你拥有多个公网IP地址的场景,比如企业级服务器或云服务器绑定了多个弹性IP。
sudo apt install nginx)首先,查看你的服务器当前有哪些IP地址:
ip addr show 假设你看到两个IP地址:192.168.1.10 和 192.168.1.11(实际可能是公网IP,如 203.0.113.10 和 203.0.113.11)。
为每个IP对应的网站创建独立的目录:
sudo mkdir -p /var/www/site1sudo mkdir -p /var/www/site2echo "<h2>欢迎访问网站1</h2>" | sudo tee /var/www/site1/index.htmlecho "<h2>欢迎访问网站2</h2>" | sudo tee /var/www/site2/index.html 进入Nginx配置目录,通常位于 /etc/nginx/sites-available/,创建两个配置文件:
配置 site1(对应 IP 192.168.1.10):
server { listen 192.168.1.10:80; server_name _; root /var/www/site1; index index.html; location / { try_files $uri $uri/ =404; }} 配置 site2(对应 IP 192.168.1.11):
server { listen 192.168.1.11:80; server_name _; root /var/www/site2; index index.html; location / { try_files $uri $uri/ =404; }} 将这两个配置文件分别保存为 /etc/nginx/sites-available/site1.conf 和 /etc/nginx/sites-available/site2.conf。
创建符号链接以启用站点:
sudo ln -s /etc/nginx/sites-available/site1.conf /etc/nginx/sites-enabled/sudo ln -s /etc/nginx/sites-available/site2.conf /etc/nginx/sites-enabled/ 检查Nginx配置是否正确:
sudo nginx -t 如果显示“syntax is ok”和“test is successful”,说明配置无误。重启Nginx使配置生效:
sudo systemctl reload nginx 现在,你可以通过浏览器或 curl 命令分别访问两个IP:
curl http://192.168.1.10# 输出:<h2>欢迎访问网站1</h2>curl http://192.168.1.11# 输出:<h2>欢迎访问网站2</h2> 恭喜!你已经成功配置了基于IP的Nginx虚拟主机。
通过本教程,你学会了如何利用Nginx的IP虚拟主机功能,在同一台服务器上通过不同IP地址托管多个网站。这项技能对于系统管理员和Web开发者来说非常实用,尤其在需要严格隔离不同服务的环境中。
记住关键词:Nginx虚拟主机、IP虚拟主机、Nginx配置教程、Web服务器配置,它们将帮助你在未来快速检索相关知识。
本文由主机测评网于2025-11-30发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025111324.html