Varnish представляет собой ускоритель веб — приложений. Он перенаправляет посетителей на статические страницы, когда это возможно. Varnish может быть установлен и настроен для кэширования контента перед любым сервером HTTP, и он может ускорить доставку до 300-1000 раз.
В этой статье мы покажем вам, как увеличить скорость загрузки вашего WordPress сайта, установив Varnish перед Nginx на сервере Ubuntu 16,04. Мы предполагаем, что у вас уже есть стек LEMP (Nginx, MySQL и PHP) и установлен WordPress на вашем сервере Ubuntu 16.04.
Требования
Для этой установки к работе, вам необходимо:
- Ubuntu 16,04 VPS. Предпочтительно SSD, так как такой диск быстрее.
- Стек LEMP и установленный WordPress на вашем сервере.
- Пользователь root.
- Текстовый редактор.
Это руководство предназначено для WordPress с Varnishом и Nginx.
Войдите на сервер через SSH с правами суперпользователя
ssh root@IP_ADDRESS -p PORT_NUMBER
и убедитесь, что все пакеты, установленные на сервере в актуальном состоянии
apt-get update && apt-get upgrade
Установка и настройка Varnish
Varnish доступен в официальном хранилище Ubuntu 16.04, так что мы можем легко установить с помощью команды apt-get
apt-get install varnish
После того, как он будет установлен, мы настроим Varnish прослушивать порт 80 и использовать веб-сервер Nginx, который будет прослушивать порт 8080 в качестве внутреннего интерфейса.
Откроем файл /etc/default/varnish в текстовом редакторе
vi /etc/default/varnish
и сделаем следующие изменения в разделе файла ‘## Alternative 2, Configuration with VCL’
DAEMON_OPTS="-a :80 \ -T localhost:6082 \ -f /etc/varnish/default.vcl \ -S /etc/varnish/secret \ -s malloc,256m"
Отредактируйте файл varnish.service, и добавьте следующие параметры конфигурации:
systemctl edit varnish.service ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
Сохраните файл и перезагрузите изменения
systemctl daemon-reload
Затем измените файл Varnish VCL по умолчанию
vi /etc/varnish/default.vcl
и убедитесь, что следующие блоки выглядят так же
backend default { .host = "127.0.0.1"; .port = "8080"; } sub vcl_recv { if (!(req.url ~ "wp-(login|admin)")) { unset req.http.cookie; } } sub vcl_fetch { if (!(req.url ~ "wp-(login|admin)")) { unset beresp.http.set-cookie; } }
сохраните изменения и перезапустите Varnish для того, чтобы изменения вступили в силу
systemctl restart varnish
Настройка Nginx
Откройте файл конфигурации Nginx вашего сайта WordPress
vi /etc/nginx/sites-enabled/yourdomain.conf
и измените порт прослушивания на 8080
server { ... listen 8080; ... }
Выполните те же изменения в файле /etc/nginx/sites-enabled/default
тоже.
Сохраните изменения и проверьте конфигурацию Nginx, выполнив следующую команду
nginx -t
Вывод должен выглядеть следующим образом
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
и, наконец, перезапустите Nginx для того, чтобы изменения вступили в силу
systemctl restart nginx
Теперь, как только вы получаете доступ к веб -сайту в браузере, он должен быть подан через Varnish. Вот и все. Вы успешно настроили WordPress с Varnishом и Nginx. Ваш WordPress сайт должен быть заметно быстрее.
После того, как вы настроили все, вы можете перейти к безопасности вашего WordPress и обеспечения безопасности вашего стека LEMP.