2012-10-11 33 views
20

Có thể nhận được conf nào mà nginx chỉ sử dụng từ một tiến trình nginx đang chạy không?dump conf từ quá trình chạy nginx

Để nhận đường dẫn tệp conf. đôi khi ps aux tiết lộ nó, đôi khi nó không. Nó có thể là chỉ một cái gì đó giống như nginx: master process /usr/sbin/nginx (giống như /proc/PID/cmdline)

  1. Vậy là nginx -V giải pháp duy nhất?
  2. Từ this question, có thể kết xuất cấu trúc dữ liệu conf từ quá trình nginx trực tiếp không? Hoặc ít nhất là đổ đường dẫn tệp conf?
+0

Kịch bản ở đây là gì? Tại sao bạn muốn làm nó? – willglynn

+1

Tôi đang nhận được các máy chủ quản lý bàn tay của mình do các quản trị viên khác để lại. Tôi muốn tự động hóa những thứ này. Thật tốt cho việc thu thập dữ liệu theo lô. – est

Trả lời

21

Tính đến Nginx 1.9.2 bạn có thể đổ cấu hình Nginx với -T cờ:

-T - giống như -t, nhưng bổ sung biến các tập tin cấu hình để đầu ra tiêu chuẩn (1.9.2).

Nguồn: http://nginx.org/en/docs/switches.html

Đây là không giống như bán phá giá đối với một quy trình cụ thể. Nếu Nginx của bạn đang sử dụng tệp cấu hình khác, hãy kiểm tra kết xuất cho ps aux và sử dụng bất kỳ tệp nào mà nó cung cấp dưới dạng nhị phân, ví dụ: nếu nó mang lại một cái gì đó giống như

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

bạn cần phải chạy

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

Nếu bạn không ở trên 1.9.2 chưa, bạn có thể đổ cấu hình với gdb:

+0

Nếu đầu ra của tệp cấu hình dài, bạn có thể đổ nó vào một tệp: 'sudo nginx -T> nginx-config.txt' –

Các vấn đề liên quan