
Ранее я написал о том как настроить nginx для работы с WP Super Cache, что позволило существенно снизить нагрузку на сервер. Кроме того для ускорения передачи данных клиентам используется сжатие страниц gzip. Проблема в том, что при каждом запросе сервер берет страницу в кеше, сжимает ее, отдает клиенту. Логично хранить в кеше уже сжатую страницу и избавить nginx от лишней работы.
Поможет нам в этом модуль ngx_http_gzip_static, который к сожалению не включен в стандартную компиляцию и для его работы нужно пересобрать nginx с параметром
--with-http_gzip_static_module
Логика работы этого модуля простая – если запрашивается файл (<имя файла>), то проверяется наличие <имя файла>.gz и если он есть, то отдается сжатый файл. Следует помнить о холостых проверках на наличие сжатой версии и желательно создать такие для статических файлов (стилей, скриптов).
Следующая проблема – поддержание актуальности кеша. Если файл был изменен, а сжатая версия нет, то nginx бездумно отдаст старую сжатую версию. В этом плане нам на помощь приходит старый-добрый WP Super Cache, который умеет создавать сжатую версию кеша одновременно с обычной (Если кому интересно, то WP Super Cache сжимает файлы с gzip_comp_level=6).
Ну и теперь осталось включить статическое сжатие в настройках сервера
server {
listen 80;
server_name tigor.org.ua;
root /путь/к/вордпресс/;
gzip_static on;Я не добавляю поддержку gzip_static on; на глобальном уровне, так как на некоторых объектах использование сжатия неэффективно. Например на отдельном домене для изображений сжатие отключено полностью.
server {
listen 80;
gzip off;
expires 30d;
server_name g.tigor.org.ua;
root /путь/к/вордпресс/wp-content/gallery/;
}Понравилась статья? Посоветуйте друзьям!
| | Tweet |
Понравилась статья? Подпишись на рассылку по E-Mail или в RSS.






