从正在运行的 nginx 进程中转储 conf
Posted
技术标签:
【中文标题】从正在运行的 nginx 进程中转储 conf【英文标题】:dump conf from running nginx process 【发布时间】:2012-10-01 16:09:36 【问题描述】:是否可以仅从正在运行的 nginx 进程中获取 nginx 正在使用的 conf?
获取conf文件路径。有时ps aux
透露,有时不透露。它可能只是类似于nginx: master process /usr/sbin/nginx
(与/proc/PID/cmdline
相同)
-
那么
nginx -V
是唯一的解决方案吗?
来自this question,是否可以直接从nginx进程中转储conf数据结构?或者至少转储 conf 文件路径?
【问题讨论】:
这里的场景是什么?为什么要这样做? 我正在着手管理其他管理员留下的服务器。我想自动化这些事情。适合批量采集数据。 【参考方案1】:从 Nginx 1.9.2 开始,您可以使用 -T
标志转储 Nginx 配置:
-T
— 与-t
相同,但另外将配置文件转储到标准输出 (1.9.2)。
来源:http://nginx.org/en/docs/switches.html
这与特定进程的转储不同。如果您的 Nginx 使用不同的配置文件,请检查 ps aux
的输出并使用它提供的任何二进制文件,例如如果它给出类似的东西
nginx: master process /usr/sbin/nginx -c /some/other/config
你需要运行
/usr/sbin/nginx -c /some/other/config -T
如果您还没有使用 1.9.2,您可以使用 gdb 转储配置:
https://serverfault.com/questions/361421/dump-nginx-config-from-running-process【讨论】:
如果配置文件输出较长,可以dump到一个文件中:sudo nginx -T > nginx-config.txt
太棒了!多亏了这个,我才能够恢复我意外覆盖的站点配置文件! :D
-T
不会转储正在运行的进程的配置,它只显示从所有 NGINX 配置文件、主文件和所有包括例如读取的配置。网站设置。您需要使用 GDB(来自上面的链接)来获取当前加载的配置。以上是关于从正在运行的 nginx 进程中转储 conf的主要内容,如果未能解决你的问题,请参考以下文章