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

266

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

Теги:
nginx
fastcgi
error-log

7 ответов

325
Лучший ответ

ошибки хранятся в файле журнала nginx. вы можете указать его в корневом файле конфигурации nginx.

error_log  /var/log/nginx/nginx_error.log  warn;
  • 9
    Возможно, это зависит от версии, но мой журнал находится внутри: /opt/nginx/logs/error.log
  • 29
    в Mac OS X с домашним пивом: / usr / local / var / log / nginx. см ответ лфендера
Показать ещё 1 комментарий
247

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

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

/var/log/nginx/error.log
  • 1
    Очевидно, это можно настроить только во время компиляции с --error-log-path компиляции --error-log-path trac.nginx.org/nginx/ticket/147
  • 0
    на Raspberry Pi3 его расположение
114

В большинстве случаев вы можете использовать lsof (список открытых файлов), чтобы найти открытые файлы журналов, не зная настройки.

Пример:

Найти PID httpd (такая же концепция применяется для nginx и других программ):

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

Затем lsof поиск открытых файлов журнала, используя 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
    это хороший трюк для запоминания ... не надо больше гадать, где могут быть файлы журнала
  • 0
    отлично, правда. Спасибо
Показать ещё 3 комментария
64

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

tail -f /var/log/nginx/error.log
25

Мои журналы 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/ - это папка, с которой вы хотите начать поиск.

2
cd /var/log/nginx/
cat error.log
1

введите в терминал sudo cat/var/log/nginx/error.log

  • 1
    Это не ответ и должен быть комментарием. Как только у вас будет достаточно репутации, вы сможете комментировать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню