Де я можу знайти журнали помилок nginx, використовуючи fastcgi та django


359

Я використовую django з fastcgi + nginx. Хочу знати, де в цьому випадку зберігаються журнали (помилка)

Відповіді:


481

помилки зберігаються у файлі журналу nginx. Ви можете вказати його в корені файлу конфігурації nginx.

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

На Mac OS X з Homebrew за замовчуванням знайдено файл журналу в наступному місці:

/usr/local/var/log/nginx

11
Це, можливо, залежить від версії, але мій журнал знаходиться всередині:/opt/nginx/logs/error.log
jmarceli

49
на Mac OS X з домашньою мовою: / usr / local / var / log / nginx. см lfender в відповідь
Фелікса Gagnon-Греньє

11
У ubuntu у мене він є /var/log/nginx/error.log. Найкраще перевірити nginx.confфайл і знайти error_logналаштування.
MarthyM

Де ви знайшли цю інформацію?
etiennejcharles

300

Я шукав іншого рішення.

Журнали помилок за замовчуванням перед встановленням будь-якої конфігурації в моїй системі (аркада x86) знайдено в:

/var/log/nginx/error.log

1
Мабуть, це налаштовується лише під час компіляції за допомогою --error-log-pathпараметра компіляції trac.nginx.org/nginx/ticket/147
Michael

на малиновому пі3 його розташування
Bludau Media

161

Можна використовувати 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.

Ви можете прочитати трохи більше тут .


4
приємний трюк пам’ятати .. більше не здогадуючись, де можуть бути файли журналів
Йо Людке,

12
це навчило мене ловити рибу; хотілося б, щоб я міг підкреслити більше
kurttheviking

+1 Для відповіді, як виглядати. Я шукав журнали з іншої установки nginx, і це не було у верхній відповіді.
Роберт Дандон

Ви можете заглядати на подібні дані на Linux у /procфайловій системі. /proc/${pid}/fdмає посилання на відкриті файли, труби, пристрої тощо
Avindra Goolcharan


39

Мої журнали 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/папки ви хочете почати пошук.


Журнали будуть тут, якщо ви встановили Nginx з Homebrew.
Шрідхар Сарнобат

9

Журнали розташування на серверах 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

введіть цю команду в термінал

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

1
Це не відповідь, а замість цього повинен бути коментар. Коли у вас буде достатня репутація, ви зможете прокоментувати.
mrun

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.