Varnish cache — это ускоритель веб-приложений, который используется в качестве кеширующего обратного HTTP-прокси. Varnish кейс имеет много преимуществ по сравнению с другим программным обеспечением для кэширования и может ускорить доставку до 1000 раз. Varnish предлагает множество функций, таких как частный CDN, сжатие и распаковка Gzip, передача и выборка потоковой передачи HTTP и т.д.

Мы советуем вам установить Varnish Cache 6.0 LTS, стабильную и поддерживаемую версию Varnish. Он поддерживается Varnish Software и получает частые обновления.

Сообщество Varnish Cache выпускает два релиза в год, которые считаются свежими релизами. Эти выпуски в основном основаны на характеристиках и не гарантируют обратной совместимости. В этих версиях также исправлены ошибки.

В этом сообщении блога для установки мы собираемся настроить его с помощью веб-сервера Apache. Этот процесс очень прост и может занять до 20 минут. Давайте начнем!

Предпосылки

  • Сервер с Ubuntu 22.04 в качестве ОС
  • Права пользователя: пользователь root или обычный пользователь с привилегиями sudo

Шаг 1. Обновите систему

Свежая установка Ubuntu 22.04 требует обновления пакетов до последних доступных версий.

1
sudo apt-get update -y && sudo apt-get upgrade -y

Шаг 2. Установите Varnish

Во-первых, мы собираемся добавить репозиторий Varnish, потому что его нет в репозитории Varnish по умолчанию.

1
curl -s -L https://packagecloud.io/varnishcache/varnish60lts/gpgkey | sudo apt-key add -
1
2
3
4
5
6
7
8
sudo tee /etc/apt/sources.list.d/varnishcache_varnish60lts.list > /dev/null <<-EOF
deb https://packagecloud.io/varnishcache/varnish60lts/$ID/ $VERSION_CODENAME main
EOF
sudo tee /etc/apt/preferences.d/varnishcache > /dev/null <<-EOF
Package: varnish varnish-*
Pin: release o=packagecloud.io/varnishcache/*
Pin-Priority: 1000
EOF

Установите varnish кеш с помощью команд ниже:

1
sudo apt install varnish -y

После установки запустите и включите службу.

1
sudo systemctl start varnish.service && sudo systemctl start varnish.service

По умолчанию служба varnish работает на порту 6081. Вы можете проверить это с помощью команды ниже:

1
netstat -tunlp | grep 6081

Вы должны получить следующий вывод:

1
2
3
root@host:~# netstat -tunlp | grep 6081
tcp        0      0 0.0.0.0:6081            0.0.0.0:*               LISTEN      2449/varnishd
tcp6       0      0 :::6081                 :::*                    LISTEN      2449/varnishd

Это еще одно доказательство того, что Varnish кеш успешно установлен и служба запущена.

Шаг 3. Установите Apache2

Во-первых, нам нужно установить веб-сервер Apache, чтобы позже настроить Varnish. Чтобы установить веб-сервер Apache, выполните следующую команду:

1
sudo apt install apache2 -y

Чтобы запустить и включить службу Apache, выполните следующую команду:

1
sudo systemctl start apache2.service && sudo systemctl enable apache2.service

По умолчанию служба Apache работает на порту 80. Нам нужно изменить это, чтобы мы могли настроить кеш Varnish для работы с веб-сервером Apache позже.

Чтобы изменить порт Apache с 80 на 8080, откройте файл /etc/apache2/ports.conf в своем любимом текстовом редакторе и измените Listen 80 на Listen 8080, чтобы он выглядел следующим образом:

1
Listen 8080

Сохраните файл, закройте его и перезапустите службу Apache.

1
sudo systemctl restart apache2.service

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

1
netstat -tunlp | grep apache2

Вы должны получить следующий вывод:

1
2
root@host:# netstat -tunlp | grep apache2
tcp6       0      0 :::8080                 :::*                    LISTEN      127811/apache2

Шаг 4. Настройте Varnish Cache

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

Откройте файл /lib/systemd/system/varnish.service и измените порт на 80, а также размер кэша на 1 ГБ, чтобы он выглядел следующим образом:

1
2
3
4
5
6
7
8
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,1g

Сохраните файл, закройте его, перезагрузите демон и перезапустите службу Varnish.

1
sudo systemctl daemon-reload && sudo systemctl restart varnish.service

Далее нужно проверить серверную часть кеша Varnish. Откройте файл /etc/varnish/default.vcl и проверьте, затронуты ли изменения в этом файле. Строки должны выглядеть так:

1
2
3
4
backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

Снова перезапустите службы Apache и Varnish:

1
sudo systemctl restart apache2 varnish

Последняя команда — проверить с помощью команды curl, правильно ли работает Varnish:

1
curl -I YourIPAddressHere

Вы должны получить следующий вывод:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
root@host:/etc/apache2# curl -I YourIPAddressHere
HTTP/1.1 200 OK
Date: Tue, 04 Oct 2022 14:05:59 GMT
Server: Apache/2.4.52 (Ubuntu)
Last-Modified: Wed, 21 Sep 2022 20:51:19 GMT
Vary: Accept-Encoding
Content-Type: text/html
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/6.6)
ETag: W/"119c-5e9361b575472-gzip"
Accept-Ranges: bytes
Connection: keep-alive

Поздравляем! Вы успешно установили и настроили кеш Varnish в Ubuntu 22.04.

Если вам понравился этот пост об установке кеша Varnish на Ubuntu 22.04, поделитесь им с друзьями в социальных сетях. Спасибо.