Установка Mod_status (Server-status) — модуль Apache

Author Автор: Роман Чернышов    Опубликовано: 15 декабря 2011

По мере роста веб проекта растут нагрузки на сервер, увеличивается объем трафика, потребление памяти и нагрузка на CPU. Чаще всего на одном сервере располагается сразу несколько сайтов, порой крупных сайтов и вычислить какой именно сайт или скрипт нагружает всю систему порой очень сложно. Для этого хорошую службу может послужить модуль Apache — Mod_status (Server-status), который отображает всю доступную информацию о выполняемых скриптах в режиме реального времени. таким образом можно без особого труда и усилий вычислить тот процесс, скрипт, который потребляет наибольшие количество ресурсов.

Установка mod_status

Перед установкой модуля, желательно проверить как скомпилирован apache, с этим модулем или без. Для этого в командной строке вашего SSH (Putty) вводим

apachectl -l

Результат может быть примерно следующим:

Compiled in modules:
  core.c
  mod_log_config.c
  mod_logio.c
  prefork.c
  http_core.c
  mod_so.c
root@:~#

Как видно в данном случае в списке нет нашего модуля. В таком случае в конфиге apache придется дописать на одну строчку больше (или просто раскомментировать).

Идем в конфиг апача, если у вас ОС FreeBSD, это:
/etc/httpd/conf/apache.conf
если под ОС Debian:
/etc/apache2/apache2.conf (/etc/apache2/mods-available/status.load, /etc/apache2/mods-available/status.conf)

Добавляем следующие строки:

# Подключение модуля mod_status к Apache
LoadModule status_module /usr/lib/apache/mod_status.so
 
# Настройка URL адреса и прав доступа
# В этом примере данные mod_status будут доступны
# в браузере по адресу: имя или ip сервера/server-status
# Только с IP 127.0.0.1
 
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
 
# ExtendedStatus - отображать расширенную информацию
# (немного медленнее, но информативнее)
# Доступно с версии Apache 1.3.2 и выше
# Допустимые значения: On или Off, по умолчанию - Off
ExtendedStatus On
 
# SeeRequestTail - отображать первые (Off) или последние (On) 63 символа запроса
# К сожалению, весь запрос вывести не удастся
# Доступно с версии Apache 2.2.7 и выше
# Допустимые значения: On или Off, по умолчанию - Off
SeeRequestTail Off

На этом все настройки завершены, все предельно просто. После внесения всех изменений в конфиг, следует перезагрузить Apache.
FreeBSD: apachectl restart
Debian: /etc/itit.d/apache restart

Анализ данных статистики Mod_status (Server-status)

Для просмотра статистики по запущенным скриптам, перейдите по ссылке, на локальной машине (denwer):

http://127.0.0.1/server-status

На сервере расположенном в сети:

http://youdomain.ru/server-status

Дополнительные параметры вызова страницы статистики:

Вывод данных в авто-режиме:
http://127.0.0.1/server-status?auto
 
Автоматическое обновление данных каждые N секунд
N - целое число секунд
http://127.0.0.1/server-status?refresh=N
 
Обновление данных каждые 10 секунд:
http://127.0.0.1/server-status?refresh=10

Кроме всего добавлю еще один момент, касаемо настройки mod_rewrite в .htaccess, дело в том, что страница статистики может попросту не открыться, если у вас в .htaccess прописаны определенные правила переадресации запросов.

На примере CMS WordPress, нужно добавить одну строку:

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

Нужно поправить его так:

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !=/server-status
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

Данный пост лишь собрание обрывков материала из малой части тех статей что выдает гугл на этот запрос, но все же я постарался собрать в одном месте немного больше информации на данную тему. Надеюсь кому-то пригодиться.

Оставить комментарий

Автор блога
Роман Чернышов
Веб-разработчик,
Full Stack
Senior, Architect
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Моя книга
Книга. Веб-разработчик. Легкий вход в профессию
Печатная книга
Веб-разработчик.
Легкий вход в профессию
Купить за 159₽
Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

Мои проекты
Insurance CMS Love Crm CMS Совместные покупки Мой PHP Framework Хостинг для моих клиентов Лицензии на мой софт и поддержка