Search code examples
linuxconfigurationprocessnginxdump

dump conf from running nginx process


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?

Solution

  • 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: