Как установить и использовать Varnish Cache в Debian 11
На этой странице
- Требования
- Установка и настройка веб-сервера Apache
- Установите сервер Varnish Debian 11
- Настройка сервера Varnish
- Настройка Varnish для работы с Apache
- Проверка кэша Varnish
- Заключение
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 в качестве внешнего сервера для ускорения загрузки веб-сайта. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.