Php-скрипты: отдача и конвертация в статистику посредством nginx
Давайте представим себе следующую довольно распространенную ситуацию: ваш сайт создан посредством php-скриптов и базы данных MySQL. У каждого вебмастера рано или поздно наступает такой момент, когда сервер, на котором расположен ваш сайт, перестает нормально работать из-за резкого увеличения количества запросов пользователей. Что делать в подобной ситуации? Если вы искусственного ограничите количество запросов, тем самым вы отбросите ваших посетителей. Нарастить мощность сервера – слишком дорого, а на оптимизацию скриптов попросту нет времени. В этой ситуации вам поможет тотальная конвертация всего сайта в статический HTML код, после чего отдача кода при помощи nginx.
Для того, чтобы выполнить указанные меры решения проблемы, необходимо определить дискретность, отвечающую за обновление информации и с помощью команды wget сделать зеркальную копию сайта:
wget -m -q -k http://мой.домен/
Далее зеркальную копию сайта необходимо синхронизировать с директорией, из которой файлы будет обрабатывать nginx (предположим, что это /usr/local/html):
rsync -tgu –delete –force мой.домен /usr/local/html
Синхронизируем те файлы, которые при помощи команды wget не были скопированы в зеркальную копию, например, *.js - java скрипты:
rsync -a –include ‘*/’ –include ‘*.js’ –exclude ‘*’ /путь/к/файлам/сайта/ /usr/local/html/
В принципе вы сделали все, что нужно. Теперь осталось дело за малым: нужно запускать этот код каждый час (или реже), что позволит перенести всю нагрузку на nginx.
Если вам необходим сохраненный доступ к CMS для администрирования сайта, нужно добавить любой поддомен сайта на реальный IP и при необходимости войти в админку обращаться к нему