Tôi đang sử dụng django với fastcgi + nginx. Tôi muốn biết vị trí các bản ghi (lỗi) được lưu trữ trong trường hợp nàyTôi có thể tìm các bản ghi lỗi của nginx ở đâu, sử dụng fastcgi và django
Trả lời
lỗi được lưu trữ trong tệp nhật ký nginx. bạn có thể chỉ định nó trong thư mục gốc của tập tin cấu hình nginx.
error_log /var/log/nginx/nginx_error.log warn;
Tôi đang tìm một giải pháp khác.
bản ghi lỗi, theo mặc định, trước khi bất kỳ cấu hình được thiết lập, trên hệ thống của tôi (x86 Arch), được tìm thấy trong:
/var/log/nginx/error.log
Rõ ràng đây là cấu hình chỉ tại thời gian biên dịch với tùy chọn biên dịch '--error-log-path' http://trac.nginx.org/nginx/ticket/147 –
bản ghi ngninx tôi đang nằm ở đây:
/usr/local/var/log/nginx/*
Bạn cũng có thể kiểm tra nginx.conf
của bạn để xem liệu bạn có bất kỳ hướng dẫn bán phá giá nào cho nhật ký tùy chỉnh hay không.
chạy nginx -t
để tìm số nginx.conf
của bạn.
# in ngingx.conf
error_log /usr/local/var/log/nginx/error.log;
error_log /usr/local/var/log/nginx/error.log notice;
error_log /usr/local/var/log/nginx/error.log info;
Nginx thường được thiết lập trong /usr/local
hoặc /etc/
. Máy chủ có thể được định cấu hình để kết xuất nhật ký thành /var/log
.
Nếu bạn có một vị trí thay thế cho cài đặt nginx của bạn và mọi thứ khác không thành công, bạn có thể sử dụng lệnh find
để định vị tệp bạn chọn.
find /usr/ -path "*/nginx/*" -type f -name '*.log'
, trong đó /usr/
là thư mục bạn muốn bắt đầu tìm kiếm.
Bạn có thể sử dụng lsof
(danh sách các tệp đang mở) trong hầu hết các trường hợp để tìm tệp nhật ký mở mà không biết cấu hình.
Ví dụ:
Tìm PID của httpd (giống khái niệm áp dụng cho nginx và các chương trình khác):
$ ps aux | grep httpd
...
root 17970 0.0 0.3 495964 64388 ? Ssl Oct29 3:45 /usr/sbin/httpd
...
Sau đó tìm kiếm cho các tập tin log mở sử dụng lsof
với PID:
$ lsof -p 17970 | grep log
httpd 17970 root 2w REG 253,15 2278 6723 /var/log/httpd/error_log
httpd 17970 root 12w REG 253,15 0 1387 /var/log/httpd/access_log
Nếu lsof
không in được gì, ngay cả khi bạn mong đợi tìm thấy tệp nhật ký, vấn đề cùng một lệnh sử dụng sudo
.
Bạn có thể đọc thêm một chút here.
đó là một mẹo hay để ghi nhớ .. không đoán thêm nữa nơi các tệp nhật ký có thể là –
tuyệt vời, thực sự. cảm ơn –
điều này đã dạy tôi cách câu cá; ước gì tôi có thể upvote thêm – kurttheviking
cd /var/log/nginx/
cat error.log
Chạy lệnh này, để kiểm tra các bản ghi lỗi:
tail -f /var/log/nginx/error.log
gõ vào terminal sudo mèo /var/log/nginx/error.log
Đó không phải là câu trả lời và phải là nhận xét thay thế. Khi bạn có đủ danh tiếng, bạn sẽ có thể nhận xét. – mrun
Tôi với MarthyM. theo mặc định trong Ubuntu, cả hai số access.log
và error.log
đều ở trong số /var/log/nginx/
. Nhưng bạn có thể thay đổi chúng trong /etc/nginx/nginx.conf
hoặc /etc/nginx/sites-available/your-site-file
.
Đó có thể là phiên bản phụ thuộc nhưng nhật ký của tôi ở bên trong: '/ opt/nginx/logs/error.log' – jmarceli
trên Mac OS X với homebrew:/usr/local/var/log/nginx. xem lfender's [answer] (http://stackoverflow.com/a/27402568/576767) –
Trên ubuntu tôi có nó trong '/ var/log/nginx/error.log'. Tốt nhất là kiểm tra tệp 'nginx.conf' và tìm cài đặt' error_log'. – MarthyM