Câu trả lời:
lỗi được lưu trữ trong tập tin nhật ký nginx. bạn có thể chỉ định nó trong thư mục gốc của tập tin nginx.
error_log /var/log/nginx/nginx_error.log warn;
Trên Mac Os X với Homebrew , tệp nhật ký được tìm thấy theo mặc định tại vị trí sau:
/usr/local/var/log/nginx
/var/log/nginx/error.log
. Tốt nhất là kiểm tra nginx.conf
tệp và tìm error_log
cài đặt.
Tôi đang tìm kiếm một giải pháp khác nhau.
Theo mặc định, nhật ký lỗi, trước khi bất kỳ cấu hình nào được đặt, trên hệ thống của tôi (x86 Arch), đã được tìm thấy trong:
/var/log/nginx/error.log
--error-log-path
tùy chọn biên dịch trac.nginx.org/nginx/ticket/147
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 cần biết cấu hình.
Thí dụ:
Tìm PID của httpd (cùng một 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 các tệp nhật ký mở bằng cách 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
in không có gì, mặc dù bạn mong đợi các tệp nhật ký được tìm thấy, hãy sử dụng lệnh tương tự sudo
.
Bạn có thể đọc thêm một chút ở đây .
/proc
hệ thống tập tin. /proc/${pid}/fd
có các liên kết đến các tệp đang mở, đường ống, thiết bị, v.v.
Chạy lệnh này, để kiểm tra nhật ký lỗi:
tail -f /var/log/nginx/error.log
Nhật ký ngninx của tôi được đặt ở đây:
/usr/local/var/log/nginx/*
Bạn cũng có thể kiểm tra nginx.conf
xem bạn có bất kỳ chỉ thị nào bán phá giá đối với nhật ký tùy chỉnh không.
chạy nginx -t
để xác định vị trí của bạn nginx.conf
.
# 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 cấu hình để kết xuất các bản ghi /var/log
.
Nếu bạn có một vị trí thay thế cho cài đặt nginx của bạn và tất cả các lỗi khác, bạn có thể sử dụng find
lệnh để xác định vị trí tệp bạn chọn.
find /usr/ -path "*/nginx/*" -type f -name '*.log'
, /usr/
thư mục bạn muốn bắt đầu tìm kiếm từ đâu.
Ghi nhật ký vị trí trên máy chủ Linux
Apache – /var/log/httpd/
IIS – C:\inetpub\wwwroot\
Node.js – /var/log/nodejs/
nginx – /var/log/nginx/
Passenger – /var/app/support/logs/
Puma – /var/log/puma/
Python – /opt/python/log/
Tomcat – /var/log/tomcat8
cd /var/log/nginx/
cat error.log
Tìm thấy nó ở đây / usr / local / nginx / log / *
/opt/nginx/logs/error.log