Использование Redis для хранения кэша страниц WordPress является хорошей альтернативной использованию fastcgi_cache в Nginx. Для работы кэша нам необходимо установить Redis сервер и немного изменить настройки хоста в Nginx. За выполнения функции кэширования будет отвечать специальный PHP-скрипт.
Для работы скрипта необходимо наличие на сервере установленного PHP-модуля PhpRedis. Модуль можно собрать из исходников, либо установить в Debian напрямую из deb пакета с помощью команды apt-get. Данный вариант подходит в том случае, если вы используете на вашем сервере PHP5.
На своем сервере я использую PHP7. Несмотря на все мои попытки, собратьPphpRedis для работы в PHP7 мне так и не удалось. Поэтому, в качестве альтернативы для работы с сервером Redis я буду использовать PHP библиотеку Predis. Для тех кто хочет поэкспериментировать, вот ссылка на ветку PhpRedis для PHP7.
Скачать скрипт кеширования можно c репозитория на сайте GitHub. Необходимо скопировать все файлы в корневую директорию сайта. Для работы кешировани необходимо в конфигурацию виртуальнго хоста Nginx добавить следующие строки:
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.php;
location /index.php {
alias /www/codebeer.ru/wordpress/wp-cache.php;
}
location / {
index wp-cache.php;
try_files $uri $uri/ /wp-cache.php?$args;
}
location /wp-admin/ {
index index.php;
try_files $uri $uri/ /index.php$args;
}
rewrite /wp-admin$ $scheme::/$host$uri/ permanent;
location ~ .php$ {
try_files $uri = 404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}