Обычно рост сайта проходит несколько этапов в плане хостинга. Сначала сайт начинает вырастать из шареда. Начинается тюнинг.
Здесь проблема в средствах диагностики. Фактически диагностика на большинстве шаред хостеров это доступ к логам, если есть. Ну и письма счастья о перегрузке аккаунта. В wordpress есть замечательный инструмент это плагин wp-tuner, но сегодня не о нем. Затем таки проект должен перемещаться с шареда на премиум аккаунт как например у Jino. Либо на VDS. У меня это был VDS, потом начинает путешествие по тарифам VDS. В какой то момент я понял, что экстенсивный путь слишком ресурсо- и денежно- емок. Надо разбираться что же грузит сервак. На VDS есть удобный инструмент для диагностики нагрузки Apache .
Это модуль mod_status . В чем его замечательность? Он показывает какие процессы запущены в текущий момент, какие скрипты выполняются, с каких IP идут запросы. Вобщем если сайт посещаемый, возможность установить mod_status есть, то это нужно сделать обязательно.
Процесс установки можно разделить на следующие этапы:
1. Включить модуль
2. Открыть доступ.
3. Ограничить доступ.
4. Если у вас wordpress ( или другая cms с включенным mod_rewrite ) прописать правило для mod_rewrite.
5. Перезапустить сервер.
Теперь подробнее:
1. Включаем модуль в файле httpd.conf это файл настройки Apache. Обычно он лежит в usr/local/etc . Для этого просто ищем строчку содержащую что-то типа #LoadModule mod_status.so , удаляем решетку, т.е. снимаем комментирование со строки загрузки модуля.
2. Где то в том же файле httpd.conf прописываем следующие строки
# включаем вывод модуля
ExtendedStatus On
SetHandler server-status
# это собственно ограничение доступа
Order Deny,Allow
Deny from all
# вместо xxx.xxx.xxx.xxx прописываете IP
# которых вы хотите смотреть статистику
Allow from xxx.xxx.xxx.xxx
Отдельно хочется остановиться на ограничении доступа. Вы же не хотите чтобы все могли посмотреть статистику вашего сервера. Поэтому и надо ограничить к ней доступ. Я делаю это ограничивая IP с которых можно посмотреть. Но есть способ и с паролями. Ваш IP можно посмотреть в куче мест. Например здесь 2ip.ru . Не забывайте, если у вас нет постоянного IP ( так как правило и бывает ), то есть смысл прописать не весь IP полностью а вашу подсеть. То есть вместо 111.222.333.444 например написать 111.222.333.
После этих манипуляций обычно нужно перезагрузить Apache ( или в ISPManager нажать перезагрузить ) и зайти на страницу статистики. http://yoursite.ru/server-status.
3. На самом деле подобных описаний mod_status в Интернете полно. Я сделал как написал сам и попытался зайти на страницу статистики. Но вместо статистики вордпресс показал мне Ошибку 404. Оказалось это из-за включенного mod_rewrite. Вобщем идите в корень где у вас установлен wordpress. Найдите там файл .htaccess, а в нем блок
# 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
После этого статистика стала доступна. Что там где я описывать не буду. Вроде и так должно быть понятно. А если не понятно то погуглите по mod_status.
kai 2010-11-02
но что делать, если среди модулей апача (файлы *.so в папке modules) отсутствует файл mod_status.so? как его скомпилить или скачать?
гуглю, гуглю, а инфы об этом не нахожу :(