Где я могу найти журналы ошибок 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. см. ответ
Феликс Ганьон-Гренье

11
На Ubuntu у меня это есть /var/log/nginx/error.log. Лучше всего проверить nginx.confфайл и найти error_logнастройки.
MarthyM

Где вы нашли эту информацию?
etiennejcharles

300

Я искал другое решение.

Журналы ошибок, по умолчанию, перед настройкой любой конфигурации, в моей системе (x86 Arch) были найдены в:

/var/log/nginx/error.log

1
По-видимому, это настраивается только во время компиляции с параметром --error-log-pathкомпиляции trac.nginx.org/nginx/ticket/147
Майкл Берковски,

на Raspberry Pi3 его местоположение
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
...

Затем найдите открытые файлы журнала, используя lsofPID:

$ 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
Это не ответ и должен быть комментарием. Как только у вас будет достаточно репутации, вы сможете комментировать.
март

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.