最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Nginx 中如何在 nginx.conf 中配置基于端口的虚拟主机访问
时间:2026-08-23 12:07:48 编辑:袖梨 来源:一聚教程网
在nginx.conf的http块内添加多个server块,每个用listen指定唯一端口(如8081、8082),root指向对应站点目录,index指定首页文件,即可实现基于端口的虚拟主机;需创建目录、放index.html、nginx -t检测、reload生效并开放防火墙端口。
直接在 nginx.conf 的 http { } 块内添加多个 server 块,每个块用 listen 指定不同端口,并配好 root 和 index,就能实现基于端口的虚拟主机访问。它不依赖域名或 Host 头,只靠端口号区分请求。
配置结构要清晰
每个 server 块代表一个独立端口服务,关键字段必须明确:
-
listen后跟唯一端口号(如8081、8082),不能重复 -
server_name可设为localhost或留空,该字段在此场景下不参与匹配 -
root指向该端口对应站点的根目录(如/var/www/site-a) -
index指定默认首页文件(如index.html)
示例写法(可直接复制修改)
假设你有两个静态站点,分别通过 :8081 和 :8082 访问:
server {listen 8081;server_name localhost;root /var/www/app-v1;index index.html;}server {listen 8082;server_name localhost;root /var/www/app-v2;index index.html;}
把这两段加到 nginx.conf 的 http { } 内部(通常在已有 server 块之后),保存即可。
别忘了配套操作
光改配置不够,还得确保环境就绪:
- 提前创建好
root对应的目录,并放入index.html,比如:mkdir -p /var/www/app-v1 && echo "App V1" > /var/www/app-v1/index.html - 执行
nginx -t检查语法是否正确,提示success才继续 - 运行
nginx -s reload(或systemctl reload nginx)让配置生效 - 确认系统防火墙放行对应端口,例如 Ubuntu 上:
ufw allow 8081
访问方式很简单
浏览器输入 http://你的服务器IP:8081 就能加载第一个站点,:8082 加载第二个。不需要改 hosts、不用 DNS、也不用证书,纯靠端口跳转。