Январь
23
2012

Nginx gzip static и WP Super Cache

Nginx gzip static и WP Super Cache

Ранее я написал о том как настроить 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/;
}
Неправильная раскладка: тпштч пяшз ыефешс b цз ыгзук сфсру

Понравилась статья? Посоветуйте друзьям!

nginx WordPress WP Plugin Скорость сайта


Понравилась статья? Подпишись на рассылку по E-Mail или в RSS.
  • Не подскажете, а для чего создается карта сайта  sitemap.xml.gz?