Windows下Nginx多端口监听需修改nginx.conf添加多个server块并放行Windows防火墙:在http块中配置listen指令(如8080、8888),SSL端口需证书;防火墙中新建TCP入站规则允许对应端口;最后用netstat和浏览器验证监听与访问。

Windows下让Nginx同时监听多个端口,关键在配置文件修改和系统防火墙放行——两者缺一不可。
修改nginx.conf启用多端口监听
Nginx默认只监听80端口,要添加其他端口(如8080、8888),需在http块内或单独的server块中定义多个listen指令:
- 打开
conf/nginx.conf,找到http { ... }部分 - 在其中添加独立的
server块,每个块指定不同端口,例如:
server {
listen 8080;
server_name localhost;
location / {
root html;
index index.html;
}
}
server {
listen 8888 ssl;
server_name localhost;
ssl_certificate ./ssl/nginx.crt;
ssl_certificate_key ./ssl/nginx.key;
location / {
root html;
index index.html;
}
}
注意:多个server块可共存;SSL端口需提前准备证书;修改后务必运行nginx -t测试语法,再用nginx -s reload重载配置。
Windows防火墙放行自定义端口
Nginx进程能绑定端口,不等于外部能访问——Windows防火墙默认拦截非80/443的入站连接。需手动添加入站规则:
- 按
Win+R输入wf.msc打开“高级安全 Windows 防火墙” - 点击左侧“入站规则”,右侧选择“新建规则…”
- 类型选“端口” → 协议选TCP → 特定本地端口填
8080,8888(英文逗号分隔) - 操作选“允许连接”,配置文件选“域、专用、公用”(根据使用场景勾选)
- 名称建议写清楚,如“Nginx-8080和8888”便于后续管理
若使用第三方防火墙(如360、火绒),也需在其界面中单独放行对应端口,不能仅依赖系统防火墙设置。
验证端口是否真正生效
配置完成≠访问成功,建议按顺序排查:
- 命令行执行
netstat -ano | findstr :8080,确认Nginx进程(PID)正在监听该端口 - 浏览器访问
http://localhost:8080,看是否返回预期页面(避免跨域或路径错误干扰判断) - 从局域网另一台电脑访问
http://[本机IP]:8080,验证防火墙是否彻底放行 - 如遇拒绝连接(ERR_CONNECTION_REFUSED),优先检查Nginx是否运行、端口是否被其他程序占用(如Skype常占80/443)
常见问题与注意事项
多端口部署容易踩坑,这些细节值得留意:
- 避免端口冲突:启动前用
netstat -ano | findstr :端口号检查是否已被占用 - 非管理员权限无法监听1024以下端口(如80、443),普通用户需以管理员身份运行Nginx或改用≥1024的端口
- 修改
nginx.conf后未重载配置,旧设置仍生效;-s reload比重启更安全 - 若用Nginx作为反向代理,多端口常配合
upstream实现不同服务分流(如8080→前端、8081→API),此时还需检查proxy_pass指向是否正确
不复杂但容易忽略。配好端口、放行防火墙、验证连通性,三步走稳,多服务并行就顺了。


















