1
Trim21 2018 年 12 月 27 日
遇到过几次, 是有配置写错了, 但是 nginx -s reload 的时候没有把错误报出来. 手动关闭 nginx 再启动的时候才看到报错信息.
|
3
v2gba 2018 年 12 月 27 日 via Android
先用-t 测试下配置文件
-s 失败就会继续用老的 |
4
Showfom PRO 可能当前进程太多了导致没 reload 上吧,试试 force-reload
systemctl force-reload nginx |
5
ericFork 2018 年 12 月 27 日
看看是不是有一些 worker 仍然还在处理当前未完请求( shutting down 状态)
|
6
Actrace 2018 年 12 月 27 日 挂了第三方模块无法结束进程或者是当前进程尚未结束。
nginx -s reload 是平滑重启,不会强制结束正在工作的连接,需要等所有连接都结束才会重启。 |
7
Cbdy 2018 年 12 月 27 日 via Android
有的操作要重启才能生效
|
8
quqiuzhu 2018 年 12 月 27 日 via Android
没有 sudo 么
|
9
raycloud 2018 年 12 月 27 日 via Android
跟配置类型有关吧,之前遇到过某个配置必须重启才生效,忘记是哪个了
|
10
ihipop 2018 年 12 月 27 日 via Android
以前遇到过,新增端口监听,域名绑定新虚拟主机之类的,需要完整重启,看什么类型的操作,不是所有的都可以 reload 加载
|
11
aniua 2018 年 12 月 27 日 -s reload 类似于 apache 的 graceful。
配置文件错误会报错,旧的 worker 还是一样跑,就像没 reload 一样。 正确的话就会开新 worker,把新的请求给到新 worker,旧的 worker 不再接收新连接,等所有连接结束后旧的 worker 会退出。 如果配置没有生效说明你可能是通过未 reload 前已经保持的长连接发起的请求。 |
12
1daydayde 2018 年 12 月 27 日 via iPhone
pid 丢了?
|
13
linchengzzz 2018 年 12 月 27 日
先 nginx -t 查看配置文件,等 配置文件 successful 之后 再 nginx -s reload
|
14
34 2018 年 12 月 27 日
证书好像要 force-reload
|
15
ooeyunarika 2018 年 12 月 27 日
旧的 worker 进程还在处理请求,有些第三方模块会导致旧的 worker 挂起甚至僵尸,回收不了,还有就是 nginx -t 先检查配置再 reload
|
16
kernel 2018 年 12 月 27 日
reload 不会打印错误,而是静默失败,这个太坑爹了
|
17
kran 2018 年 12 月 27 日 via Android
配置文件正确也会有这种情况,遇到了只好重启,不清楚原因
|
18
mywaiting 2018 年 12 月 27 日 每次 nginx reload 记得这样敲命令,反正我觉得这是 nginx reload 的最佳实践了
sudo nginx -t && sudo nginx -s reload && sudo tail -f /var/log/nginx/error.log 可以直接搞个命令的 alias,不过一定记得这样敲 |
19
he583899772 2018 年 12 月 27 日
配置有错误,看不到错误吧
|
20
virusdefender 2018 年 12 月 27 日
reload 的时候得所有的连接都断开,老连接老配置,新连接才是新配置
|
21
khy 2018 年 12 月 27 日
碰到过几次,都是配置写错[捂脸],可以-t 先。
|
22
TrickWu 2018 年 12 月 27 日
没遇到过,一般 reload 之后如果有错的话会报错 没报错就生效了。
|
23
cominghome 2018 年 12 月 27 日
一些改动,reload 貌似是不生效的,一定要 restart。
|
24
NsLib 2018 年 12 月 27 日 分两种情况:
1. nginx -t 不通过,此时 nginx -s reload 不会生效 2. nginx -s reload 是 graceful shutdown 语义; 如果配置正确的话, 老的 worker 进程停止 accept 新连接, 处理完当前连接后主动退出; 新 worker 处理新请求 看你描述的经常不生效,应该是没有 nginx -t 导致的 |
25
Infernalzero 2018 年 12 月 27 日
你们说的-t 问题其实可以忽略,这种一般 reload 后都马上看提示就知道的了,我估计楼主说的是 reload 了没有错误信息,配置没有语法错误,但是没有使用新的配置。
这种情况只能 stop 了以后再起才生效 |
26
daydaydayup 2018 年 12 月 27 日 via iPhone
跟进这个帖子,希望知道最后的解决方法以后少填坑
|
27
justicelove 2018 年 12 月 27 日
先 -t 检测配置是否正确
|
28
firebroo 2018 年 12 月 27 日 via Android
我也遇到过一次,是在大版本升级的时候,没来得及保留现场,lz 如果可以稳定复现,可以看看各 worker 的 pid 是否变化?
|
29
Livid MOD OP PRO 看起来最大的嫌疑就是那些涉及额外网络连接的模块,我排查一下。
|