Как установить Varnish 7 для Nginx на Rocky Linux 8

12 set 2022 5 min di lettura
Как установить Varnish 7 для Nginx на Rocky Linux 8
Indice dei contenuti

Введение

Varnish cache — это бесплатный ускоритель кеша с открытым исходным кодом, используемый для ускорения вашего сайта за счет кэширования контента. Это очень быстро и сокращает время загрузки страницы, что помогает с вашей поисковой выдачей и улучшает взаимодействие с пользователем. Он используется многими организациями, включая Facebook, Twitter и Wikipedia. Varnish находится между Nginx и клиентами, которые получают запросы от клиентов и перенаправляют их на серверную часть. Это повысит производительность веб-сервера, поскольку Varnish будет обслуживать контент из памяти.

В этом руководстве я покажу вам, как установить Varnish 7 для Nginx на Rocky Linux 8.

Если вы хотите установить Varnish на удаленный сервер, продолжайте читать, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.

Подключение к серверу

Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:

ssh root@IP_DEL_SERVER

Далее вам нужно будет ввести пароль пользователя root.

Если вы не используете пользователя root, вы можете войти в систему с другим именем пользователя, используя ту же команду, а затем изменить root на свое имя пользователя:

ssh nome_utente@IP_DEL_SERVER

Затем вам будет предложено ввести пароль пользователя.

Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Предпосылки

  • Сервер под управлением Rocky Linux 8.
  • Пароль root настроен на сервере.

Установите Лак 7

Прежде чем начать, вам нужно будет отключить существующие модули рисования в вашей системе. Вы можете отключить его, выполнив следующую команду:

dnf module disable varnish

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

==============================================================================================================================================
 Package Architecture Version Repository Size
 ==============================================================================================================================================
 Disabling modules:
 varnish

 Transaction Summary
 ==============================================================================================================================================

 Is this ok [y/N]: y
 Complete!

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

dnf install epel-release -y

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

curl -s https://packagecloud.io/install/repositories/varnishcache/varnish70/script.rpm.sh | bash

После добавления репозитория установите Varnish 7 с помощью следующей команды:

dnf install varnish -y

После успешной установки проверьте информацию Varnish с помощью следующей команды:

rpm -qi varnish

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

Name: varnish
 Version: 7.0.2
 Release: 1.el8
 Architecture: x86_64
 Install Date: Sunday 13 February 2022 06:24:35 AM UTC
 Group: System Environment/Daemons
 Size: 8907085
 License: BSD
 Signature: (none)
 Source RPM: varnish-7.0.2-1.el8.src.rpm
 Build Date: Wednesday 12 January 2022 02:25:34 PM UTC
 Build Host: 7fc509e75620
 Relocations: (not relocatable)
 URL: https://www.varnish-cache.org/Summary: High-performance HTTP accelerator
 Description:
 This is Varnish Cache, a high-performance HTTP accelerator.

Управляйте службой покраски

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

systemctl start varnish
systemctl enable varnish

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

systemctl status varnish

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

? varnish.service - Varnish Cache, a high-performance HTTP accelerator
 Loaded: loaded (/usr/lib/systemd/system/varnish.service; disabled; vendor preset: disabled)
 Active: active (running) since Sun 2022-02-13 06:24:56 UTC; 6s ago
 Process: 2555 ExecStart=/usr/sbin/varnishd -a:6081 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m (c>
 Main PID: 2556 (varnishd)
 Tasks: 217
 Memory: 104.5M
 CGroup: /system.slice/varnish.service
 ??2556 /usr/sbin/varnishd -a:6081 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m
 ??2567 /usr/sbin/varnishd -a:6081 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m

 Feb 13 06:24:55 rockylinux systemd[1]: Starting Varnish Cache, a high-performance HTTP accelerator...
 Feb 13 06:24:55 rockylinux varnishd[2556]: Version: varnish-7.0.2 revision 9b5f68e19ca0ab60010641e305fd12822f18d42c
 Feb 13 06:24:55 rockylinux varnishd[2556]: Platform: Linux,4.18.0-348.12.2.el8_5.x86_64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
 Feb 13 06:24:55 rockylinux varnishd[2556]: Child (2567) Started
 Feb 13 06:24:56 rockylinux varnishd[2556]: Child (2567) said Child starts
 Feb 13 06:24:56 rockylinux systemd[1]: Started Varnish Cache, a high-performance HTTP accelerator.

Настроить лак

По умолчанию Varnish прослушивает порт 6081. Здесь мы будем использовать Varnish для приема входящих HTTP-соединений. Затем вам нужно будет настроить Varnish для прослушивания порта 80. Это можно сделать, отредактировав файл /usr/lib/systemd/system/varnish.service:

nano /usr/lib/systemd/system/varnish.service

Измените порт 6081 на 80, как показано ниже:

ExecStart=/usr/sbin/varnishd -a:80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,2g

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

systemctl daemon-reload

Затем перезапустите службу Varnish, чтобы применить изменения:

systemctl restart varnish

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

ss -antpl | grep varnish

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

LISTEN 0 10 127.0.0.1:46093 0.0.0.0:* users:(("varnishd",pid=2819,fd=13))
 LISTEN 0 128 0.0.0.0:80 0.0.0.0:* users:(("cache-main",pid=2830,fd=6),("varnishd",pid=2819,fd=6))
 LISTEN 0 128 127.0.0.1:8443 0.0.0.0:* users:(("cache-main",pid=2830,fd=9),("varnishd",pid=2819,fd=9))
 LISTEN 0 10 [::1]:33963 [::]:* users:(("varnishd",pid=2819,fd=12))
 LISTEN 0 128 [::]:80 [::]:* users:(("cache-main",pid=2830,fd=7),("varnishd",pid=2819,fd=7))
 LISTEN 0 128 [::1]:8443 [::]:* users:(("cache-main",pid=2830,fd=8),("varnishd",pid=2819,fd=8))

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

В этом разделе мы установим Nginx и настроим его для работы с Varnish. Сначала установите пакет Nginx с помощью следующей команды:

dnf install nginx -y

После установки Nginx вам нужно будет отредактировать файл конфигурации Nginx и изменить порт прослушивания Nginx по умолчанию с 80 на 8080.

Отредактируйте основной файл конфигурации Nginx с помощью следующей команды:

nano /etc/nginx/nginx.conf

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

 listen 80 default_server;
 listen [::]:80 default_server;

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

 listen 8080 default_server;
 listen [::]:8080 default_server;

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

systemctl start nginx

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

systemctl status nginx

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

? nginx.service - The nginx HTTP and reverse proxy server
 Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
 Active: active (running) since Sun 2022-02-13 06:29:02 UTC; 8s ago
 Process: 5627 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
 Process: 5626 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
 Process: 5624 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 5629 (nginx)
 Tasks: 2 (limit: 11412)
 Memory: 6.7M
 CGroup: /system.slice/nginx.service
 ??5629 nginx: master process /usr/sbin/nginx
 ??5630 nginx: worker process

 Feb 13 06:29:02 rockylinux systemd[1]: Starting The nginx HTTP and reverse proxy server...
 Feb 13 06:29:02 rockylinux nginx[5626]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
 Feb 13 06:29:02 rockylinux nginx[5626]: nginx: configuration file /etc/nginx/nginx.conf test is successful
 Feb 13 06:29:02 rockylinux systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
 Feb 13 06:29:02 rockylinux systemd[1]: Started The nginx HTTP and reverse proxy server.

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

На этом этапе Varnish установлен и настроен для работы с веб-сервером Nginx. Теперь пришло время протестировать кеш Varnish.

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

curl -I http://your-server-ip

Надеюсь, вы получите следующий вывод:

HTTP/1.1 200 OK
 Server: nginx/1.14.1
 Date: Sun, 13 Feb 2022 06:30:06 GMT
 Content-Type: text/html
 Content-Length: 3429
 Last-Modified: Thu, 10 Jun 2021 09:09:03 GMT
 ETag: "60c1d6af-d65"
 X-Varnish: 2
 Age: 0
 Via: 1.1 varnish (Varnish/7.0)
 Accept-Ranges: bytes
 Connection: keep-alive

Вывод

Поздравляем! вы успешно установили Varnish с Nginx на Rocky Linux 8. Теперь вы можете внедрить Varnish в производственной среде, чтобы повысить производительность вашего веб-сайта. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.