Wp Super Cache nginx config ssl / https

Я думаю уже много людей оценили полезность плагина wp super cache , который позволяет ускорить загрузку страниц создавая статические страницы, и при обращении с серверу отдает их пользователю, тем самым освобождая от работы php движок wordpress. Я не так давно приобрел себе vps сервер за 90 рублей совсем со скромными показателями

  • HDD - 10 гигабайт
  • Оперативная память 512 мегабайт
  • Яда - 1 ядро 2400 MHz

На сервере VPS установлена Ubuntu 16.04,  PHP 7.1, последняя версия NGINX и MySQL. Хоть оперативной памяти у меня остается всего ничего после установки этого хозяйства, и подключить SWAP не предоставляется возможным. Меня спасает wp super cache сконфигурированный под nginx.

Wp Super Cache nginx config ssl https 2

Wp Super Cache nginx config

Так как сервер работает с поддержкой SSL по защищённому протоколу HTTPS то соответственно в настройках конфига удалена возможность работы с кэшем через обычный http, но в связи с тенденцией перехода на HTTP2, я думаю этот конфиг будет актуален.

sudo mkdir /etc/nginx/include
sudo nano /etc/nginx/include/wpscache.conf

Вставим эту конфигурацию:

    
    set $cache_uri $request_uri;

    if ($request_method = POST) {
        set $cache_uri 'null cache';
    }
    if ($query_string != "") {
        set $cache_uri 'null cache';
    }   

    if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php
                          |wp-.*.php|/feed/|index.php|wp-comments-popup.php
                          |wp-links-opml.php|wp-locations.php |sitemap(_index)?.xml
                          |[a-z0-9_-]+-sitemap([0-9]+)?.xml)") {
    set $cache_uri 'null cache';
    }  
    
    if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+
                         |wp-postpass|wordpress_logged_in") {
        set $cache_uri 'null cache';
    }
    

    location / {
    gzip off;
    gzip_static on;
    gzip_vary off;
    try_files /wp-content/cache/supercache/$server_name${cache_uri}index-https.html $uri $uri/ /index.php;
    etag off;
    add_header Vary 'Accept-Encoding, Cookie';
    add_header Cache-Control 'max-age=3600, must-revalidate';
    add_header 'X-WPSC' 'HIT';
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
    }

Сохраним.
В конфиг своего сайта можно добавить данную конфигурацию в блок server через директиву include удобное вам место.

server {
....ваши данные
include include/wpscache.conf;
....ваши данные
}

Перезагружаете сервер заходите в консоль wordpress и настраиваете wp super cache данным образом:
Wp Super Cache nginx config ssl https

Сохраняете настройки. Переходите во вкладку общий кэш и кликаете создать общий кэш. Не забываем установить время жизни кэша, если у вас часто обновляемый сайт или блог время кеша можно оставить стандартным 3600. Для тех кто пишет редко и обновляет также редко свой сайт, то можно установить время жизни кэша на месяц.

Чтобы проверить работоспособность плагина в консоль терминала нужно ввести

curl -s -D - https://my.syte.ru -o /dev/null

При повторном введении команды в ответе сервера вы будете должны увидеть следующую строку:

X-WPSC: HIT

Данный плагин и легкий сервер nginx просто спасают на мало производительных системах. На одном из моих сайтов где 1000 тыс записей нагрузка на бд и cpu упала на 40%!

4 Комментария (ев)

  1. Надо ли при установке и активации Wp Super Cache отключать кеширования nginx FastCGI, если оно уже активировано?

ОСТАВЬТЕ ОТВЕТ

Пожалуйста введите свой комментарий
Пожалуйста, введите свое имя здесь