Di mana saya dapat menemukan log kesalahan nginx, menggunakan fastcgi dan django


359

Saya menggunakan Django dengan fastcgi + nginx. Saya ingin tahu di mana log (kesalahan) disimpan dalam kasus ini

Jawaban:


481

kesalahan disimpan dalam file log nginx. Anda dapat menentukannya di root file konfigurasi nginx.

error_log  /var/log/nginx/nginx_error.log  warn;

Pada Mac Os X dengan Homebrew , file log ditemukan secara default di lokasi berikut:

/usr/local/var/log/nginx

11
Itu mungkin tergantung versi tetapi log saya ada di dalam:/opt/nginx/logs/error.log
jmarceli

49
pada Mac OS X dengan homebrew: / usr / local / var / log / nginx. lihat jawaban
Félix Gagnon-Grenier

11
Di ubuntu saya memilikinya /var/log/nginx/error.log. Yang terbaik adalah memeriksa nginx.conffile dan menemukan error_logpengaturannya.
MarthyM

Di mana Anda menemukan informasi itu?
etiennejcharles

300

Saya mencari solusi yang berbeda.

Log kesalahan, secara default, sebelum konfigurasi apa pun ditetapkan, di sistem saya (x86 Arch), ditemukan di:

/var/log/nginx/error.log

1
Tampaknya ini hanya dapat dikonfigurasikan pada waktu kompilasi dengan --error-log-pathopsi kompilasi trac.nginx.org/nginx/ticket/147
Michael Berkowski

pada raspberry pi3 lokasinya
Bludau Media

161

Anda dapat menggunakan lsof(daftar file terbuka) dalam banyak kasus untuk menemukan file log terbuka tanpa mengetahui konfigurasi.

Contoh:

Temukan PID dari httpd (konsep yang sama berlaku untuk nginx dan program lain):

$ ps aux | grep httpd
...
root     17970  0.0  0.3 495964 64388 ?        Ssl  Oct29   3:45 /usr/sbin/httpd
...

Kemudian cari file log terbuka menggunakan lsofdengan 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

Jika lsoftidak mencetak apa pun, meskipun Anda mengharapkan file log ditemukan, jalankan perintah yang sama menggunakan sudo.

Anda dapat membaca lebih banyak di sini .


4
ini adalah trik yang bagus untuk diingat .. tidak ada tebakan lagi di mana file log bisa
Yo Ludke

12
ini mengajari saya cara memancing; berharap saya bisa lebih banyak memilih
kurttheviking

+1 Untuk jawaban tentang bagaimana penampilan. Saya mencari log dari instalasi nginx yang berbeda dan itu bukan jawaban teratas.
Robert Dundon

Anda dapat melihat data serupa di linux di sistem /procfile. /proc/${pid}/fdmemiliki symlink ke file yang terbuka, pipa, perangkat, dll
Avindra Goolcharan


39

Log ngninx saya ada di sini:

/usr/local/var/log/nginx/*

Anda juga dapat memeriksa Anda nginx.confuntuk melihat apakah Anda memiliki arahan membuang ke log kustom.

jalankan nginx -tuntuk menemukan 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 biasanya diatur dalam /usr/localatau /etc/. Server dapat dikonfigurasi untuk membuang log /var/logjuga.

Jika Anda memiliki lokasi pengganti untuk instalasi nginx dan semuanya gagal, Anda dapat menggunakan findperintah untuk menemukan file pilihan Anda.

find /usr/ -path "*/nginx/*" -type f -name '*.log', di mana /usr/folder tempat Anda ingin mulai mencari.


Log akan ada di sini jika Anda menginstal Nginx dengan Homebrew.
Sridhar Sarnobat

9

Lokasi log di server 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


2

ketik perintah ini di terminal

sudo cat /var/log/nginx/error.log

1
Itu bukan jawaban dan harus menjadi komentar. Setelah memiliki reputasi yang cukup, Anda dapat berkomentar.
mrun

0

Ditemukan di sini / usr / local / nginx / log / *

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.