Публикация в группе: Полезное для WordPress

Добавлено в закладки: 4

Я думаю все прекрасно знают, что такое кэширование и как оно работает. Этой информации в интернете слава богу много и не в дефиците она, так что воду лить не буду скажу по существу.

Стояла у меня задача настроить кэширование сайта на wordpress работающего под управлением http-сервера Nginx. Для тех кто не знает Nginx намного быстрее и стабильнее работает под большими нагрузками, чем Apache используемый почти всеми хостинговыми компаниями. Да Apache более прост в настройке, но когда нагрузка на сайт возрастает, никакое кэширование не спасёт, что случилось однажды и со мной. Сайт периодически выдавал 502 ошибку загрузка была максимальной.

Был приобретён VPS, поставлен на нём ispmanager 5 lite панель хорошая без тех бубнов что были в 4 версии и работает как надо всё из коробки. Режим работы php для сайта был выбран FastCGI (Nginx + PHP-FPM).

При переходе с Apache на Nginx есть несколько нюансов. Во первых файл .htaccess на сервере Nginx работать не будет, он просто там не поддерживается, а следовательно большинство плагинов хеширования будут работать кое как,  так как на прямую зачастую используют  именного его, также могут возникнуть проблемы с ЧПУ и плагинами Защиты вашего WordPress.

Но вопрос решается. У Nginx имеется своё кэширование, которое работает лучше любого плагина.

Для того чтобы грамотно настроить кэширование нужно полазить по серверу и немного подредактировать конфиги самого Nginx. И так поехали. Допустим наш сайт называется example.com, пользователь под которым существует наш сайт user.

Для начала давайте включим сжатие всех статичных файлов, которые отдаются пользователю, скрипты, каскадные таблицы стилей и тд. Для этого открываем конфиг Nginx по адресу etc/nging/nginx.conf и в секцию

добавляем следующее -

Увеличим максимальный размер загружаемого файла, например, пусть будет 128 Мб. Добавляем туда же в секцию http.

Скроем версию Nginx от других пользователей с точки зрения безопасности. Добавляем туда же в секцию http.

Теперь займёмся кэшированием для начала давайте создадим каталог на сервере, где будет хранится весь кэш, например var/tmp/nginx/user/example

Приступаем к редактированию конфига nginx к сайту example.com

Конфиг находится по адресую etc/nginx/vhosts/user/example.com.conf по умолчанию конфиг генерируется следующего вида

теперь мы его немного дополним, давайте пропишем путь к каталогу, в котором буде хранится наш кэш. Перед секцией server {...} добавим следующую строку

Теперь в секцию server {...} добавим следующий код (внимательно просмотрите код не забудьте поменять домен example.com на свой)

Теперь приведём в порядок ЧПУ для их корректной работы следует дописать в location / {...}

В итоге весь конфиг должен принять следующий вид.

Настоятельно рекомендую перед изменением конфигов делать их резервные копии. Надеюсь данная статья будет кому-то полезна. Спасибо за внимание.

 

20

Автор публикации

не в сети 2 месяца

ILya Khodiy

38
Комментарии: 10Публикации: 2Регистрация: 14-10-2013Продаж/Покупок: 0/116