Где я могу найти журналы ошибок nginx, используя fastcgi и django

Ответы:

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.

Вы можете прочитать немного больше здесь .

omoser
источник
4
это хороший трюк для запоминания ... не надо больше гадать, где могут быть файлы журнала
Йо Людке
12
это научило меня ловить рыбу; Жаль, что я мог бы больше голосовать
kurttheviking
+1 За ответ как посмотреть. Я искал журналы от другой установки nginx, и это не было в главном ответе.
Роберт Дандон
Вы можете тыкать в аналогичные данные о Linux в /procфайловой системе. /proc/${pid}/fdимеет символические ссылки на открытые файлы, каналы, устройства и т. д.
Avindra Goolcharan
91

Запустите эту команду, чтобы проверить журналы ошибок:

tail -f /var/log/nginx/error.log
Таймур Чангайз
источник
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/находится папка, из которой вы хотите начать поиск.

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

Нашел его здесь / usr / local / nginx / logs / *

mygeea
источник