Поиск по сайту:

Установите Varnish Cache 5.2 для Apache в Debian и Ubuntu.


Varnish Cache (также называемый Varnish) – это высокопроизводительный HTTP-ускоритель с открытым исходным кодом и современным дизайном. Он хранит кеш в памяти, гарантируя, что ресурсы веб-сервера не будут потрачены зря на создание одной и той же веб-страницы снова и снова по запросу клиента.

Его можно настроить для работы перед веб-сервером, чтобы обслуживать страницы гораздо быстрее, что ускоряет загрузку веб-сайтов. Он поддерживает балансировку нагрузки с проверкой работоспособности серверных частей, перезапись URL-адресов, корректную обработку «мертвых» серверных частей и предлагает частичную поддержку ESI (Edge Side Includes).

В нашей серии статей, посвященных Varnish Cache, мы показали, как настроить Varnish для веб-серверов Nginx и Varnish для Apache в системе CentOS 7.

В этой статье мы объясним, как установить и настроить Varnish Cache 5.2 в качестве внешнего интерфейса HTTP-сервера Apache в системах Debian и Ubuntu.

Требования:

  1. Система Ubuntu, установленная со стеком LAMP.
  2. Система Debian, установленная со стеком LAMP.
  3. Система Debian/Ubuntu со статическим IP-адресом.

Шаг 1. Установите Varnish Cache в Debian и Ubuntu

1. К счастью, существуют предварительно скомпилированные пакеты для последней версии Varnish Cache 5 (т. е. 5.2 на момент написания), поэтому вы можете необходимо добавить официальный репозиторий Varnish в вашу систему, как показано ниже.

curl -L https://packagecloud.io/varnishcache/varnish5/gpgkey | sudo apt-key add -

Важно! Если вы используете Debian, установите пакет debian-archive-keyring для проверки официальных репозиториев Debian. .

sudo apt-get install debian-archive-keyring

2. После этого создайте файл с именем /etc/apt/sources.list.d/varnishcache_varnish5.list, содержащий приведенную ниже конфигурацию репозитория. Обязательно замените ubuntu и xenial на свой дистрибутив и версию Linux.

deb https://packagecloud.io/varnishcache/varnish5/ubuntu/ xenial main  
deb-src https://packagecloud.io/varnishcache/varnish5/ubuntu/ xenial  main

3. Затем обновите репозиторий пакетов программного обеспечения и установите кэш лака, используя следующие команды.

sudo apt update
sudo apt install varnish

4. После установки Varnish Cache основные файлы конфигурации будут установлены в каталог /etc/varnish/.

  • /etc/default/varnish – файл конфигурации среды лака.
  • /etc/varnish/default.vcl – основной файл конфигурации лака, написан с использованием языка конфигурации Vanish (VCL).
  • /etc/varnish/secret – секретный файл лака.

Чтобы убедиться, что установка Varnish прошла успешно, выполните следующую команду, чтобы увидеть версию.

varnishd -V

Шаг 2. Настройте Apache для работы с Varnish Cache

5. Теперь вам нужно настроить Apache для работы с Varnish Cache. По умолчанию Apache прослушивает порт 80. Вам необходимо изменить порт Apache по умолчанию на 8080, чтобы он мог работать за кешированием Varnish.

Итак, откройте файл конфигурации портов Apache /etc/apache2/ports.conf и найдите строку listen 80, затем измените ее на listen 8080.

Альтернативно, просто запустите команду sed, чтобы изменить порт 80 на 8080 следующим образом.

sudo sed -i "s/Listen 80/Listen 8080/" /etc/apache2/ports.conf

6. Вам также необходимо внести изменения в файл виртуального хоста, расположенный в /etc/apache2/sites-available/.

sudo vi /etc/apache2/sites-available/000-default.conf

Измените номер порта на 8080.

<VirtualHost *:8080>
	#virtual host configs here
</VirtualHost>

7. В системах, использующих systemd, файл конфигурации среды /etc/default/varnish устарел и больше не рассматривается.

Вам необходимо скопировать файл /lib/systemd/system/varnish.service в /etc/systemd/system/ и внести в него несколько изменений.

sudo cp /lib/systemd/system/varnish.service /etc/systemd/system/
sudo vi /etc/systemd/system/varnish.service

Вам необходимо изменить директиву службы ExecStart, она определяет параметры выполнения демона лака. Установите значение флага -a, который определяет порт, который прослушивает лак, от 6081 до 80.

8. Чтобы внести указанные выше изменения в файл модуля службы лака, выполните следующую команду systemctl:

sudo systemctl daemon-reload

9. Затем настройте Apache в качестве внутреннего сервера для прокси-сервера Varnish в файле конфигурации /etc/varnish/default.vcl.

sudo vi /etc/varnish/default.vcl 

Используя раздел backend, вы можете определить IP-адрес хоста и порт для вашего контент-сервера. Ниже приведена конфигурация серверной части по умолчанию, в которой используется локальный хост (установите его так, чтобы он указывал на ваш фактический контент-сервер).

backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

10. После выполнения всей вышеуказанной настройки перезапустите демон Apache и Varnish, введя следующие команды.

sudo systemctl restart apache
sudo systemctl start varnish
sudo systemctl enable varnish
sudo systemctl status varnish

Шаг 3. Проверьте Varnish Cache на Apache

11. Наконец, проверьте, включен ли кеш Varnish и работает ли он с HTTP-сервером Apache, с помощью команды cURL ниже, чтобы просмотреть HTTP-заголовок.

curl -I http://localhost

Вот и все! Для получения дополнительной информации о Varnish Cache посетите https://github.com/varnishcache/varnish-cache.

В этом руководстве мы объяснили, как настроить Varnish Cache 5.2 для HTTP-сервера Apache в системах Debian и Ubuntu. Вы можете поделиться с нами любыми мыслями или вопросами через обратную связь ниже.