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

Как установить и использовать Varnish Cache в Debian 11


На этой странице

  1. Требования
  2. Установка и настройка веб-сервера Apache
  3. Установите сервер Varnish Debian 11
  4. Настройка сервера Varnish
  5. Настройка Varnish для работы с Apache
  6. Проверка кэша Varnish
  7. Заключение

Varnish Cache — это мощный и один из самых популярных ускорителей HTTP с открытым исходным кодом, используемый более чем 3,4 миллионами веб-сайтов. Его можно использовать в качестве прокси-сервера с обратным кэшированием, специально разработанного для динамических веб-сайтов с высоким трафиком. Он используется для кэширования контента перед веб-сервером. Он работает путем кэширования содержимого в памяти. Когда пользователь запрашивает кэшированную страницу, Varnish предоставляет кэшированную копию вместо того, чтобы снова и снова запрашивать одну и ту же страницу с внутреннего сервера. Многие провайдеры хостинга VPS используют его как часть своего стека технологий для повышения производительности веб-сайта.

Этот пост покажет вам, как установить Varnish Cache с Apache на Debian 11.

Требования

  • Сервер под управлением Debian 11.
  • На вашем сервере настроен пароль root.

Установка и настройка веб-сервера Apache

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

apt install apache2 -y

После установки веб-сервера Apache вам нужно будет отредактировать файл конфигурации Apache и изменить порт по умолчанию на другой.

nano /etc/apache2/ports.conf

Найдите следующую строку:

Listen 80

И заменил его следующей строкой:

Listen 8080

Сохраните и закройте файл, когда закончите.

Далее вам также потребуется отредактировать файл конфигурации виртуального хоста Apache по умолчанию и изменить порт по умолчанию:

nano /etc/apache2/sites-available/000-default.conf

Найдите следующую строку:

<VirtualHost *:80>

И заменил его следующей строкой:

<VirtualHost *:8080>

Сохраните и закройте файл, затем перезапустите службу Apache, чтобы изменения вступили в силу:

systemctl restart apache2

Теперь вы можете проверить порт прослушивания Apache с помощью следующей команды:

ss -antpl | grep apache2

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

LISTEN 0      511                *:8080            *:*    users:(("apache2",pid=19315,fd=4),("apache2",pid=19314,fd=4),("apache2",pid=19313,fd=4),("apache2",pid=19312,fd=4),("apache2",pid=19311,fd=4),("apache2",pid=19310,fd=4))

Установите сервер Varnish Debian 11

По умолчанию последняя версия кеша Varnish недоступна в репозитории Debian по умолчанию. Поэтому вам нужно будет добавить репозиторий Varnish в APT.

Сначала установите необходимые зависимости с помощью следующей команды:

apt install debian-archive-keyring curl gnupg apt-transport-https -y

Затем добавьте ключ Varnish GPG с помощью следующей команды:

curl -fsSL https://packagecloud.io/varnishcache/varnish70/gpgkey | gpg --dearmor -o /etc/apt/trusted.gpg.d/varnish.gpg

Затем создайте исходный файл Varnish:

nano /etc/apt/sources.list.d/varnishcache_varnish70.list

Добавьте следующую строку:

deb https://packagecloud.io/varnishcache/varnish70/debian/ bullseye main
deb-src https://packagecloud.io/varnishcache/varnish70/debian/ bullseye main

Сохраните и закройте файл, затем обновите кэш репозитория с помощью следующей команды:

apt update -y

Затем установите Varnish Cache с помощью следующей команды:

apt install varnish -y

После установки Varnish Cache запустите сервер Varnish с помощью следующей команды.

systemctl restart varnish

Вы также можете проверить версию Varnish с помощью следующей команды.

varnishd -V

Вы получите следующий вывод.

varnishd (varnish-7.0.3 revision 6a4c6a5c7e66a664b140278c209f0b18c544cab8)
Copyright (c) 2006 Verdens Gang AS
Copyright (c) 2006-2022 Varnish Software

Настройка сервера Varnish

Далее вам нужно будет отредактировать файл default.vcl и определить ваш внутренний сервер:

nano /etc/varnish/default.vcl

Измените следующие строки в соответствии с вашим внутренним сервером:

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

Сохраните и закройте файл, когда закончите.

Настройте Varnish для работы с Apache

Далее вам нужно будет создать настраиваемый файл конфигурации службы для Varnish. Вы можете создать его с помощью следующей команды.

mkdir /etc/systemd/system/varnish.service.d
nano /etc/systemd/system/varnish.service.d/customport.conf

Добавьте следующие строки:

[Service]
ExecStart=
ExecStart=/usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m

Сохраните и закройте файл, затем перезагрузите демон systemd с помощью следующей команды:

systemctl daemon-reload

Затем перезапустите службу Varnish с помощью следующей команды:

systemctl restart varnish

Теперь вы можете проверить состояние Varnish Cache с помощью следующей команды:

systemctl status varnish

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

? varnish.service - Varnish Cache, a high-performance HTTP accelerator
     Loaded: loaded (/lib/systemd/system/varnish.service; enabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/varnish.service.d
             ??customport.conf
     Active: active (running) since Fri 2022-12-30 05:31:51 UTC; 9s ago
    Process: 24637 ExecStart=/usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m (>
   Main PID: 24638 (varnishd)
      Tasks: 217
     Memory: 132.4M
        CPU: 535ms
     CGroup: /system.slice/varnish.service
             ??24638 /usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m
             ??24652 /usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m

Dec 30 05:31:50 debian11 systemd[1]: Starting Varnish Cache, a high-performance HTTP accelerator...
Dec 30 05:31:51 debian11 varnishd[24638]: Version: varnish-7.0.3 revision 6a4c6a5c7e66a664b140278c209f0b18c544cab8
Dec 30 05:31:51 debian11 varnishd[24638]: Platform: Linux,5.10.0-20-amd64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
Dec 30 05:31:51 debian11 varnishd[24638]: Child (24652) Started
Dec 30 05:31:51 debian11 varnishd[24638]: Child (24652) said Child starts
Dec 30 05:31:51 debian11 systemd[1]: Started Varnish Cache, a high-performance HTTP accelerator.

На данный момент Varnish установлен и прослушивает порт 80. Вы можете проверить это с помощью следующей команды:

ss -antpl | grep :varnishd

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

LISTEN 0      1024         0.0.0.0:80         0.0.0.0:*    users:(("cache-main",pid=24652,fd=3),("varnishd",pid=24638,fd=3))                                                                                                        
LISTEN 0      1024       127.0.0.1:8443       0.0.0.0:*    users:(("cache-main",pid=24652,fd=7),("varnishd",pid=24638,fd=7))                                                                                                        
LISTEN 0      10         127.0.0.1:39231      0.0.0.0:*    users:(("varnishd",pid=24638,fd=11))                                                                                                                                     
LISTEN 0      10             [::1]:36395         [::]:*    users:(("varnishd",pid=24638,fd=10))                                                                                                                                     
LISTEN 0      1024            [::]:80            [::]:*    users:(("cache-main",pid=24652,fd=5),("varnishd",pid=24638,fd=5))                                                                                                        
LISTEN 0      1024           [::1]:8443          [::]:*    users:(("cache-main",pid=24652,fd=6),("varnishd",pid=24638,fd=6))                                                                                                        

Проверить кеш Varnish

На этом этапе кеш Varnish установлен и работает. Теперь вы можете проверить кеш Varnish с помощью команды CURL:

curl -I http://localhost/

Вы получите кеш лака в следующем выводе:

HTTP/1.1 200 OK
Date: Fri, 30 Dec 2022 05:33:00 GMT
Server: Apache/2.4.54 (Debian)
Last-Modified: Fri, 30 Dec 2022 04:42:33 GMT
Vary: Accept-Encoding
Content-Type: text/html
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/7.0)
ETag: W/"29cd-5f1043adffc4c-gzip"
Accept-Ranges: bytes
Connection: keep-alive

Заключение

Поздравляем! вы успешно установили Varnish Cache с Apache на Debian 11. Теперь вы можете использовать Varnish cache в качестве внешнего сервера для ускорения загрузки веб-сайта. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.