Использование 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; } }