dump conf from running nginx process

2019-03-11 16:32发布

问题:

Is it possible to get which conf the nginx is using only from a running nginx process?

To get the conf file path. sometimes ps aux reveal it, sometimes it doesn't. It might be just something like nginx: master process /usr/sbin/nginx (same as /proc/PID/cmdline)

  1. So is nginx -V the only solution?
  2. From this question, is it possible to dump conf data structure from nginx process directly? Or at least dump the conf file path?

回答1:

As of Nginx 1.9.2 you can dump the Nginx config with the -T flag:

-T — same as -t, but additionally dump configuration files to standard output (1.9.2).

Source: http://nginx.org/en/docs/switches.html

This is not the same as dumping for a specific process. If your Nginx is using a different config file, check the output for ps aux and use whatever it gives as the binary, e.g. if it gives something like

nginx: master process /usr/sbin/nginx -c /some/other/config

you need to run

/usr/sbin/nginx -c /some/other/config -T

If you are not on 1.9.2 yet, you can dump the config with gdb:

  • https://serverfault.com/questions/361421/dump-nginx-config-from-running-process