2012-10-11 12 views
20

Czy można uzyskać, który conf nginx używa tylko z działającego procesu nginx?dump conf z działającego procesu nginxa

Aby uzyskać ścieżkę do pliku conf. czasami ujawnia je ps aux, czasem nie. To może być tylko coś podobnego nginx: master process /usr/sbin/nginx (tak samo jak /proc/PID/cmdline)

  1. Więc jest nginx -V jedynym rozwiązaniem?
  2. Od this question, czy można zrzucić strukturę danych conf bezpośrednio z procesu nginx? Lub co najmniej zrzucić ścieżkę pliku conf?
+0

Jaki jest tu scenariusz? Dlaczego chcesz to zrobić? – willglynn

+1

Dostaję moje ręce zarządzające serwerami pozostawionymi przez innych administratorów. Chcę zautomatyzować te rzeczy. Jest dobry do gromadzenia danych w partii. – est

Odpowiedz

21

Od Nginx 1.9.2 można zrzucić config Nginx z flagą -T:

-T - tak samo jak -t, ale dodatkowo zrzucić pliki konfiguracyjne na standardowe wyjście (1.9.2).

Źródło: http://nginx.org/en/docs/switches.html

To nie jest taka sama jak dumping dla danego procesu. Jeśli twój Nginx używa innego pliku konfiguracyjnego, sprawdź dane wyjściowe dla ps aux i użyj tego, co daje jako plik binarny, np. jeśli to daje coś takiego

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

trzeba uruchomić

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

Jeśli nie jesteś jeszcze na 1.9.2, można zrzucić config z gdb:

+0

Jeśli plik konfiguracyjny jest długi, możesz go zrzucić do pliku: 'sudo nginx -T> nginx-config.txt' –

Powiązane problemy