[问题已处理]-[nginx]-nginx reload不起作用 配置不生效

遇到过很多次  修改nginx.conf 配置不生效,这种情况比较少见,排查了很久发现规则没有问题。但是转发始终没有过去。

最后杀掉nginx进程 ,重新start nginx 配置就生效了。

 

nginx -s  reload 命令加载修改后的配置文件,命令下达后发生如下事件

1. Nginx的master进程检查配置文件的正确性,若是错误则返回错误信息,nginx继续采用原配置文件进行工作(因为worker未受到影响)

2. Nginx启动新的worker进程,采用新的配置文件

3. Nginx将新的请求分配新的worker进程

4. Nginx等待以前的worker进程的全部请求已经都返回后,关闭相关worker进程

5. 重复上面过程,直到全部旧的worker进程都被关闭掉

参考nginx官方的相关文档。

这里我理解的意思是 等到旧worker 全部关闭成功之后新worker的配置才会生效。所以reload 成功但是配置似乎没有生效的时候 不妨看看worker进程的pid是否有变化。

类似这样的情况  连接数多的情况才会出现

你可能感兴趣的:(nginx)