ฉันใช้ django กับ fastcgi + nginx ฉันต้องการทราบว่าบันทึก (ข้อผิดพลาด) เก็บไว้ที่ไหนในกรณีนี้
ฉันใช้ django กับ fastcgi + nginx ฉันต้องการทราบว่าบันทึก (ข้อผิดพลาด) เก็บไว้ที่ไหนในกรณีนี้
คำตอบ:
ข้อผิดพลาดจะถูกเก็บไว้ในล็อกไฟล์ nginx คุณสามารถระบุได้ในรูทของไฟล์กำหนดค่า nginx
error_log /var/log/nginx/nginx_error.log warn;
บนMac Os Xด้วยHomebrewจะพบไฟล์บันทึกตามค่าเริ่มต้นที่ตำแหน่งต่อไปนี้:
/usr/local/var/log/nginx
/var/log/nginx/error.log
ผมมีมันอยู่ใน เป็นการดีที่สุดที่จะตรวจสอบnginx.conf
ไฟล์และค้นหาการerror_log
ตั้งค่า
ฉันกำลังมองหาทางออกที่แตกต่าง
ตามค่าเริ่มต้นบันทึกข้อผิดพลาดก่อนที่จะตั้งค่าใด ๆ บนระบบของฉัน (x86 Arch) พบได้ใน:
/var/log/nginx/error.log
--error-log-path
ตัวเลือกการรวบรวมtrac.nginx.org/nginx/ticket/147
คุณสามารถใช้lsof
(รายการของไฟล์ที่เปิด) ในกรณีส่วนใหญ่เพื่อค้นหาไฟล์บันทึกที่เปิดโดยไม่ทราบการกำหนดค่า
ตัวอย่าง:
ค้นหา PID ของ httpd (ใช้แนวคิดเดียวกันกับ nginx และโปรแกรมอื่น ๆ ):
$ ps aux | grep httpd
...
root 17970 0.0 0.3 495964 64388 ? Ssl Oct29 3:45 /usr/sbin/httpd
...
จากนั้นค้นหาไฟล์บันทึกที่เปิดอยู่lsof
ด้วย 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
ถ้าพิมพ์อะไรแม้ว่าคุณคาดว่าล็อกไฟล์ที่จะพบออกคำสั่งเดียวกันโดยใช้lsof
sudo
/proc
ระบบไฟล์ /proc/${pid}/fd
มี symlink ไปยังไฟล์ที่เปิด,
รันคำสั่งนี้เพื่อตรวจสอบบันทึกข้อผิดพลาด:
tail -f /var/log/nginx/error.log
บันทึกของ ngninx ของฉันอยู่ที่นี่:
/usr/local/var/log/nginx/*
นอกจากนี้คุณยังสามารถตรวจสอบnginx.conf
เพื่อดูว่าคุณมีคำสั่งที่ทิ้งลงในบันทึกที่กำหนดเองหรือไม่
เรียกใช้ในการค้นหาของคุณnginx -t
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 มักจะตั้งขึ้นในหรือ/usr/local
/etc/
เซิร์ฟเวอร์สามารถกำหนดค่าให้ดัมพ์บันทึกได้/var/log
เช่นกัน
หากคุณมีตำแหน่งอื่นสำหรับการติดตั้ง nginx ของคุณและอื่น ๆ ทั้งหมดล้มเหลวคุณสามารถใช้find
คำสั่งเพื่อค้นหาไฟล์ที่คุณเลือก
find /usr/ -path "*/nginx/*" -type f -name '*.log'
ซึ่ง/usr/
เป็นโฟลเดอร์ที่คุณต้องการที่จะเริ่มต้นการค้นหาจาก
บันทึกตำแหน่งบนเซิร์ฟเวอร์ 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
พิมพ์คำสั่งนี้ในเทอร์มินัล
sudo cat /var/log/nginx/error.log
พบได้ที่นี่ / usr / local / nginx / logs / *
/opt/nginx/logs/error.log