В Nginx логирование, как и Apache, предполагает возможность записи информации об ошибках и запросах, обрабатываемых веб-сервером. По умолчанию на уровне сервера логирование включено, задать необходимость записи информации об ошибках в работе веб-сервера и посещениях веб-сайтов пользователями можно для каждого ресурса индивидуально в конфигурационном файле виртуального хоста.
Искать виртуальные хосты следует в /etc/nginx/sites-enabled/
Nginx логирование — error_log
Nginx может писать информацию о работе веб-сервера различных уровней: от предупреждений до чрезвычайных ситуаций. Каждый нижний уровень логирования предполагает, что информация о всех более серьезных событиях также будет записываться.
Существуют следующие уровни логирования Nginx:
- debug
- info
- warn
- error
- crit
- alert
- emerg
Так при указании в виртуальном хосте уровня логирования warn записываться будут все предупреждения, ошибки, критические события, алерты и события чрезвычайные.
На практике это означает, что логи могут занимать значительное пространство на диске, поэтому предупреждения часто не записывают, устанавливая уровень error.
В виртуальном хосте задается путь к файлу, в который веб-сервер будет писать лог.
При задании опций логирования для всего сервера в nginx.conf можно указать путь к логу в любой из секций http, server, stream и location.
Уровень логирования для выявления причин неверной работы сервера можно снизить ниже warn — самый низкий уровень — debug.
error_log logs/error.log debug;
Включать логирование всех событий имеет смысл только на короткий период, если уровень логирования не изменить на warn или error в скором времени дисковое пространство, доступное серверу начнет стремительно заканчиваться.
Чтобы использование debug было возможным веб-сервер должен быть изначально (до компиляции) сконфигурирован для его использования.
./configure
--
with-debug …
access_log Nginx
В лог доступа пишется информация о визитах на сайт пользователей и ботов поисковых систем.
Как любой текстовый файл лог доступа можно просмотреть и выполнить поиск по нему.
Именно эти логи анализируют некоторые счетчики посетителей сайтов. В нагруженных системах ведение access.log часто отключают для экономии дискового пространства и снижения количества операций записи, выполняемых системой.
access.log следует анализировать для отслеживания источников трафика на сайте, лог доступа позволяет выявить резкое возрастание количества запросов, что в некоторых случаях может говорить о повышенной активности поисковых ботов на сайте (которую можно ограничить), или DDOS атаке.
Также информация о работе веб-сервера пишется в syslog. Она может быть полезна при анализе причин неисправностей.
Если Nginx не запускается причину почти всегда позволяет выявить проверка конфигурационных файлов
nginx -t
Читайте также материал, в котором разобрано как проверить конфигурацию Nginx и перезапустить службу.