Как установить Varnish на Ubuntu 22.04
В этом руководстве мы собираемся показать вам, как установить Varnish на Ubuntu 22.04. Кэш Varnish – это ускоритель веб-приложений, который используется в качестве кэширующего HTTP обратного прокси. Кэш varnish имеет много преимуществ по сравнению с другими программами кэширования и может ускорить доставку до 1000 раз. Varnish предлагает множество функций, таких как частная CDN, сжатие и декомпрессия Gzip, потоковая передача HTTP & fetch и т.д.
Здесь для установки мы собираемся настроить его на веб-сервере Apache. Этот процесс очень прост и может занять не более 20 минут. Давайте начнем!
Предварительные условия
- Свежая установка Ubuntu 22.04
- Привилегии пользователя: root или не-root пользователь с привилегиями sudo
Шаг 1. Обновление системы
Если у вас свежая установка Ubuntu 22.04, обновите системные пакеты до последних доступных версий.
sudo apt update -y && sudo apt upgrade -y
Шаг 2. Установите Varnish
Сначала мы добавим репозиторий Varnish, поскольку он не существует в репозитории Varnish по умолчанию.
tee /etc/apt/sources.list.d/varnishcache_varnish70.list > /dev/null <<-EOF deb https://packagecloud.io/varnishcache/varnish70/ubuntu/ focal main deb-src https://packagecloud.io/varnishcache/varnish70/ubuntu/ focal main EOF
После добавления обновите систему
sudo apt-update -y
Установите кэш varnish с помощью команд ниже:
sudo apt install varnish -y
После установки запустите и включите службу.
sudo systemctl start varnish && sudo systemctl start varnish
Для проверки работоспособности службы введите следующую команду:
sudo systemctl status varnish
Вы должны получить следующий результат:
root@host:~# systemctl status varnish ● varnish.service - Varnish Cache, a high-performance HTTP accelerator Loaded: loaded (/lib/systemd/system/varnish.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2022-09-21 16:13:26 CDT; 1 week 5 days ago Docs: https://www.varnish-cache.org/docs/ man:varnishd Main PID: 2449 (varnishd) Tasks: 217 (limit: 4575) Memory: 92.4M CPU: 11min 37.355s CGroup: /system.slice/varnish.service ├─2449 /usr/sbin/varnishd -j unix,user=vcache -F -a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m └─2471 /usr/sbin/varnishd -j unix,user=vcache -F -a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
По умолчанию служба varnish работает на порту 6081. Вы можете проверить это с помощью следующей команды:
netstat -tunlp | grep 6081
Вы должны получить следующий результат:
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 выполните следующую команду:
sudo apt install apache2 -y
Для запуска и включения службы Apache выполните следующую команду:
sudo systemctl start apache2 && sudo systemctl enable apache2
Для проверки состояния службы:
sudo systemctl status apache2
Вы должны получить следующее сообщение:
root@host:~# sudo systemctl status apache2 ● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2022-09-21 15:52:40 CDT; 1 week 5 days ago Docs: https://httpd.apache.org/docs/2.4/ Main PID: 767 (apache2) Tasks: 55 (limit: 4575) Memory: 13.9M CPU: 1min 15.604s CGroup: /system.slice/apache2.service ├─ 767 /usr/sbin/apache2 -k start ├─123603 /usr/sbin/apache2 -k start └─123604 /usr/sbin/apache2 -k start
По умолчанию служба Apache работает на порту 80. Чтобы изменить порт Apache с 80 на 8080, откройте файл /etc/apache2/ports.conf вашим любимым текстовым редактором и измените Listen 80 на Listen 8080 следующим образом:
Listen 8080
Сохраните файл, закройте его и перезапустите службу Apache.
sudo systemctl restart apache2.
Чтобы проверить, все ли в порядке, выполните следующую команду:
netstat -tunlp | grep apache2
root@host:# netstat -tunlp | grep apache2 tcp6 0 0 :::8080 :::* LISTEN 127811/apache2
Шаг 4. Настройка кэша Varnish
Теперь, когда Varnish установлен и Apache прослушивает порт 8080, мы можем приступить к настройке Varnish. Прежде всего, мы собираемся изменить порт по умолчанию для прослушивания Varnish с 6081 на 80.
Откройте файл /lib/systemd/system/varnish.service и измените порт на 80, а размер кэша на 1 ГБ следующим образом:
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.
sudo systemctl daemon-reload && sudo systemctl restart varnish service
Далее необходимо проверить бэкенд кэша Varnish. Откройте файл /etc/varnish/default.vcl и проверьте, затронуты ли изменения в этом файле. Строки должны выглядеть следующим образом:
backend default { .host = "127.0.0.1"; .port = "8080"; }
Перезапустите службы Apache и Varnish снова:
sudo systemctl restart apache2 varnish
В заключение проверьте с помощью команды curl, правильно ли работает Varnish:
curl -I *YourIPAddressHere*
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
Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.
Вдохновлен www.rosehosting.com
Комментарии (0)