nginx reload不生效

背景

下发配置文件后,测试域名返回结果不正确,而且请求日志也没有落在相对应的日志中,反而是落在default的日志中,说明配置文件没有生效。error log中也没有记录到错误日志。

nginx -s realod 不生效有很多原因。
1、语法异常,执行nginx -s reload后没有执行nginx -t检查语法
2、其他原因导致nginx -s reload错误

查看nginx进程的启动时间,nginx reload后worker进程没有重启。


image.png

strace nginx -s reload查看也没有报错。然后想到最近有更新nginx版本
,更新版本的话肯定需要重启master进程的,但是看master进程的时间,更新后并没有重启,说明更新版本有异常。现在的二进制文件是新的,但是master却依然是老版本的文件。

根本原因:在使用nginx -s reload的时候,新的二进制文件找不到对应的master进程,管控不到。所以新的配置文件不会生效。
解决方案:kill master进程,然后重新启动nginx

你可能感兴趣的:(nginx reload不生效)