Установка Mod_status (Server-status) — модуль Apache
По мере роста веб проекта растут нагрузки на сервер, увеличивается объем трафика, потребление памяти и нагрузка на 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 |
Данный пост лишь собрание обрывков материала из малой части тех статей что выдает гугл на этот запрос, но все же я постарался собрать в одном месте немного больше информации на данную тему. Надеюсь кому-то пригодиться.

Автор:






