请教大家关于 nginx 升级添加新模块过程中遇到的问题,

2019-03-01 10:34:35 +08:00
 NicolayShi
请教大家按此教程 http://zixuephp.net/article-443.html 升级 nginx 添加 nginx_lua_module,在一个新的目录中重新编译后替换原来的 /usr/bin/nginx 文件,并 -s reload,然后发现新的网站 conf 并不生效,花了很多时间定位是否写错 conf,但是无果,最后杀掉所有 nginx 进程,并重新启动才解决问题,请问大家是为什么?
1702 次点击
所在节点    Linux
5 条回复
NicolayShi
2019-03-01 10:35:31 +08:00
-s reload 不就是重新加载配置文件吗,
jingxyy
2019-03-01 11:07:20 +08:00
-s reload 是给 nginx 的 master 进程发个 signal 让进程重新加载配置文件并重新生成 worker 进程 master 进程并不会退出 新的 worker 进程也是 master 进程弄出来的 总的来说可以理解为会重新加载配置文件但并不会替换 binary 所以你必需手动干掉 master 进程才能用上重新编译后的新功能
coolloves
2019-03-01 13:36:28 +08:00
平滑升级,我是在原程序目录编译,只是 make 后,用新的文件,替换掉原来的 nginx 文件,然后 make upgrade.
rochek
2019-03-02 11:07:45 +08:00
你需要看下源码,-s 到底做了什么
然后你需要知道,你的新模块到底做了哪些事情,在什么时候做的
然后你就清楚为什么会出现这种情况了
NicolayShi
2019-03-04 10:00:24 +08:00
@rochek 好吧谢谢,我不懂 c 语言。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/539918

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX