Веб-сервер Apache - это универсальная платформа, обслуживающая миллионы веб-сайтов. Его эффективность и производительность часто зависят от правильной настройки и понимания его поведения. Чтобы устранить неполадки или оптимизировать производительность, вам может понадобиться заглянуть в файлы журналов Apache.
По умолчанию Apache записывает в журнал информацию, связанную с клиентскими запросами, ответами сервера и различными событиями. Однако иногда для получения более подробной информации о работе сервера вам может потребоваться увеличить подробность этих журналов.
Развернутая запись в журнал предоставляет более подробную информацию и помогает понять, что именно происходит на сервере Apache. Это особенно полезно при устранении сложных проблем, требующих понимания специфических заголовков запросов и ответов, ошибок подключения и других подробностей.
Ведение подробного журнала может быстро заполнить дисковое пространство и повлиять на производительность. Обычно рекомендуется использовать подробное протоколирование временно и возвращаться к обычному уровню, когда вы получите необходимую информацию.
Шаги для более подробного ведения журнала для Apache:
Откройте терминал на вашем сервере.
Найдите директиву LogLevel в конфигурационных файлах Apache.
1 | sudo grep -nr ^LogLevel /etc/{httpd,apache2}/ |
Пример вывода
1 | /etc/apache2/apache2.conf:143:LogLevel warn |
Откройте файл конфигурации Apache с помощью удобного для вас текстового редактора.
1 | sudo nano /etc/apache2/apache2.conf |
Измените значение LogLevel на более подробное.
1 | LogLevel debug |
Параметры варьируются от emerg, alert, crit, error, warn, notice, info до debug. На уровне debug записывается наибольшее количество информации.
Сохраните файл и выйдите из текстового редактора.
Найдите директиву LogFormat в конфигурационных файлах Apache.
1 | sudo grep -nr ^LogFormat /etc/{httpd,apache2}/ |
Пример
1 2 3 4 5 6 7 8 | /etc/apache2/apache2.conf:212:LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined /etc/apache2/apache2.conf:213:LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined /etc/apache2/apache2.conf:214:LogFormat "%h %l %u %t \"%r\" %>s %O" common /etc/apache2/apache2.conf:215:LogFormat "%{Referer}i -> %U" referer /etc/apache2/apache2.conf:216:LogFormat "%{User-agent}i" agent ... LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-agent}i"" combined CustomLog ${APACHE_LOG_DIR}/access.log combined |
Откройте файл конфигурации Apache с помощью удобного для вас текстового редактора.
1 | sudo nano /etc/apache2/apache2.conf |
Настройте директивы LogFormat по своему усмотрению.
Слово в конце директив LogFormat (common, combined, vhost_combined и т. д.) - это псевдонимы для строк формата. Эти псевдонимы можно использовать в директиве CustomLog для вашего VirtualHost, чтобы указать, какой формат использовать при ведении журнала.
Сохраните файл и выйдите из текстового редактора.
Перезапустите Apache, чтобы применить изменения.
1 | sudo systemctl restart apache2 |
1 | sudo systemctl restart httpd |
Просмотрите журналы Apache, чтобы получить подробную информацию.
1 | tail -f /var/log/apache2/error.log |
1 | tail -f /var/log/httpd/error_log |