При работе с веб-сервером Nginx одной из самых распространенных задач является проверка журналов отладки. Знание того, как включить и интерпретировать журналы отладки, очень полезно для устранения проблем с приложением или сервером, поскольку эти журналы предоставляют подробную информацию об отладке. В Nginx вы можете включить журналы отладки для изучения восходящего взаимодействия и внутреннего поведения.
Nginx отслеживает его событий в двух журналов: журналы ошибок и журналов доступа. Прежде чем двигаться дальше, давайте разберемся с базовой концепцией журналов ошибок и журналов отладки.
- Что такое журналы ошибок в Nginx
- Что такое журналы доступа в Nginx
- Как включить журналы ошибок в Nginx
- Контекст error_log в Nginx
- Синтаксис error_log в Nginx:
- Как включить журнал доступа в Nginx
- Контекст access_log в Nginx
- Синтаксис access_log в Nginx
- Как просмотреть error_log в Nginx
- Как просмотреть access_log в Nginx
- Заключение
Что такое журналы ошибок в Nginx
Любые ошибки, с которыми сталкивается Nginx, такие как неожиданная остановка или возникновение проблем, связанных с восходящим соединением или временем соединения, записываются в журналы ошибок. Журналы ошибок записывают информацию, относящуюся к проблемам сервера и приложений.
Что такое журналы доступа в Nginx
Nginx регистрирует все клиентские запросы в журналах доступа вскоре после их обработки. Информация о доступном файле, браузере, который использует клиент, о том, как Nginx отреагировал на запрос, и IP-адресах клиентов можно найти в журналах доступа. Данные журналов доступа можно использовать для анализа трафика и отслеживания использования сайта с течением времени.
Этот пост покажет вам, как включить журналы ошибок и доступ к журналам для целей отладки в Nginx. Итак, начнем!
Как включить журналы ошибок в Nginx
Нажмите » CTRL + ALT + T «, чтобы открыть терминал. После этого выполните приведенную ниже команду, чтобы открыть файл конфигурации nginx, чтобы включить журнал ошибок в файле конфигурации Nginx:
$ sudo nano /etc/nginx/nginx.conf
Ваш файл конфигурации Nginx будет как-то выглядеть так:
В файл журнала ошибок Nginx записывает сообщения об общих сбоях сервера и проблемах, связанных с приложением. Если у вас есть проблемы, связанные с вашим веб-приложением, то в первую очередь можно найти решения в журнале ошибок. В Nginx директива error_log включает и настраивает местоположение журнала ошибок и уровень журнала.
Контекст error_log в Nginx
«Error_log директива» может быть добавлен в сервере {}, HTTP {}, местоположения {} блока.
Синтаксис error_log в Nginx:
error_log [log_file_path] [log_level]
Для настройки error_log необходимо добавить путь к файлу журнала и установить уровень журнала. Если вы не установите второй параметр, error_log примет значение » error » в качестве уровня журнала по умолчанию:
error_log /var/log/nginx/error.log;
Аргумент log_level определяет уровень ведения журнала. Вот список log_level, используемых директивой error_log :
- debug: уровень журнала » отладка » устанавливается для отладки сообщений.
- warn:» warn » устанавливается как log_level для уведомления о предупреждениях.
- info: этот log_level помогает журналу ошибок предоставлять информационные сообщения.
- error: Ошибки, возникающие в процессе обработкив виде запроса.
- alerts: предупреждения — это тип уведомления, для которого требуется немедленное действие.
- crit: он решает проблемы, которые необходимо решить.
- emerg: ситуация, требующая немедленных действий.
Директива error_log по умолчанию определена в блоке http {}. Однако вы также можете разместить его внутри блока location {} или server.
Теперь мы добавим приведенную ниже строку в наш серверный блок, чтобы включить журналы ошибок с » debug » log_level:
error_log /var/log/nginx/example.error.log debug;
Как включить журнал доступа в Nginx
Nginx добавляет новое событие в журнал доступа всякий раз, когда обрабатывается клиентский запрос. Эти журналы хранят местоположение посетителей, информацию о просматриваемой ими веб-странице и количество времени, проведенного на странице. Каждая запись события включает метку времени, а также различные сведения о ресурсах, запрошенных клиентом.
Директива формата журнала позволяет вам определять формат ваших регистрируемых сообщений. Директива access_log используется для включения местоположения файла журнала и его формата. По умолчанию журнал доступа включен в блоке http {}.
Контекст access_log в Nginx
» Access_log» директива может быть добавлена в сервере {}, {} HTTP, местоположения {} блока.
Синтаксис access_log в Nginx
access_log [log_file_path] [log_format]
Если вы не укажете » log_format «, тогда access_log включит » комбинированный » access_format по умолчанию. Однако вы можете настроить формат журнала следующим образом:
log_format main ‘$remote_addr — $remote_user [$time_local] «$request» ‘
‘$status $body_bytes_sent «$http_referer» ‘
‘»$http_user_agent» «$http_x_forwarded_for»‘;
После настройки формата журнала вы можете добавить следующую строку в блок http {} для включения журнала доступа:
access_log /var/log/nginx/access.log main;
Чтобы добавить access_log в блок server {}, следуйте синтаксису, приведенному ниже:
access_log /var/log/nginx/example.access.log main;
Вы можете отключить журнал доступа; если у вас загруженный веб-сайт или на вашем сервере мало ресурсов. Для этого вы должны установить «off» в качестве значения access_log:
access_log off;
После настройки error_log или access_log в конкретном блоке нажмите » CTRL + O «, чтобы сохранить добавленные строки:
Теперь в вашем терминале выполните команду » nginx » с параметром » -t «, чтобы проверить файл конфигурации Nginx и его контекст:
$ sudo nginx -t
В конце концов, перезапустите службу Nginx, и все готово!
$ sudo systemctl restart nginx
Чтобы проверить, включены ли журналы и работают ли они, проверьте каталог журналов Nginx:
$ sudo ls /var/log/nginx
Из выходных данных вы можете увидеть, что в нашей системе включены журналы доступа и ошибок:
Как просмотреть error_log в Nginx
Вы можете использовать команду » cat » для извлечения содержимого error_log из файла » /var/log/nginx/error.log «:
$ sudo cat /var/log/nginx/error.log
Как просмотреть access_log в Nginx
Чтобы проверить содержимое access_log, выполните команду » cat » и укажите свой каталог access_log:
$ sudo cat /var/log/nginx/access.log
Заключение
Nginx включает настраиваемые параметры отладки, которые используются для сбора информации, которая помогает вам понять поведение вашего веб-сервера. Nginx предоставляет два файла для регистрации данных веб-сервера: error_logs и access_logs, где error_logs записывает неожиданные или информативные сообщения, а access_logs хранит информацию, относящуюся к запросам клиентов. В этом посте мы объяснили error_logs, access_logs и то, как вы можете включить error_logs и access_logs в Nginx.