Конвертация php-скриптов в статику

Предположим, у Вас есть сайт, созданный при помощи 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 и обращаться к нему.

Leave a comment

Please be polite and on topic. Your e-mail will never be published.

You must be logged in to post a comment.