为什么Windows下重载Nginx配置不生效

  • 今天朋友问我 Nginx 配置的问题,配置了转发后不生效,通过服务端口访问是正常的。查看了一下配置文件也是正确的,于是尝试修改了 Nginx 配置转发的匹配路径,但是重载之后依旧不生效,难道我写的配置文件也是错误的吗?

  • 带着疑惑我将原有的部分转发配置注释掉,重载之后发现被注释掉的路径依旧能正常访问。由此可知新的 Nginx 配置虽然被重载了,但是没有生效,于是我在命令提示符 cmd 下停止了 Nginx,这时候再去打开浏览器访问路径发现依旧能够访问到本地的 Nginx,可见本地的 Nginx 实际上仍在运行,我又在 cmd 中重复输入了停止命令,出现了下方的提示,Nginx 已经被关闭了,可事实是否真的如此...

image

  • 打开任务管理器,一片绿色“映入眼帘”,在使用停止命令后,后台仍运行着很多个 Nginx 服务。

image

  • 接下来的解决方案就很简单了,杀进程,启动。新的配置生效了,访问都正常了。

先前因为启动了多个 Nginx 进程一直都在运行,请求响应并未被重载和新启动的 Nginx 处理。所以 Nginx 运行时非必要时刻不要新启动,尽量使用重载和重启的方式。

图片作为示例是后续再次验证时截图的.

原文地址:https://www.cnblogs.com/shenyuanfeng/p/15422619.html