Come installare Varnish 7 per Nginx su Rocky Linux 8

21 feb 2022 5 min di lettura
Come installare Varnish 7 per Nginx su Rocky Linux 8
Indice dei contenuti

Introduzione

Varnish cache è un acceleratore di cache gratuito e open source utilizzato per velocizzare il tuo sito Web memorizzando nella cache il contenuto. È estremamente veloce e riduce il tempo di caricamento della pagina, il che aiuta con le tue SERP e migliora l'esperienza dell'utente. È utilizzato da molte organizzazioni tra cui Facebook, Twitter e Wikipedia. Varnish si trova tra Nginx e i client che ricevono le richieste dai client e le inoltra al back-end. Ciò migliorerà le prestazioni del server web perché Varnish servirà il contenuto dalla memoria.

In questo tutorial, ti mostrerò come installare Varnish 7 per Nginx su Rocky Linux 8.

Se desideri installare Varnish su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.

Connessione al Server

Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:

ssh root@IP_DEL_SERVER

Successivamente sarà necessario inserire la password dell'utente root.

Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:

ssh nome_utente@IP_DEL_SERVER

Successivamente vi verrà chiesto di inserire la password del vostro utente.

La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Prerequisiti

  • Un server che esegue Rocky Linux 8.
  • Una password di root è configurata sul server.

Installare la Varnish 7

Prima di iniziare, dovrai disabilitare i moduli di vernice esistenti dal tuo sistema. Puoi disabilitarlo eseguendo il seguente comando:

dnf module disable varnish

Dovresti vedere il seguente output:

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

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

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

Quindi, installa il repository EPEL usando il seguente comando:

dnf install epel-release -y

Quindi, aggiungi il repository Varnish Cache 7 al tuo sistema usando il comando seguente:

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

Una volta aggiunto il repository, installa Varnish 7 utilizzando il comando seguente:

dnf install varnish -y

Dopo la corretta installazione, verifica le informazioni su Varnish con il seguente comando:

rpm -qi varnish

Dovresti vedere il seguente output:

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.

Gestire il servizio di verniciatura

Dopo aver installato Varnish, avviare il servizio Varnish e consentirne l'avvio al riavvio del sistema utilizzando il comando seguente:

systemctl start varnish
systemctl enable varnish

Puoi controllare lo stato della vernice con il seguente comando:

systemctl status varnish

Otterrai il seguente output:

? 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.

Configurare Varnish

Per impostazione predefinita, Varnish è in ascolto sulla porta 6081. Qui useremo Varnish per accettare le connessioni HTTP in entrata. Quindi dovrai configurare Varnish per l'ascolto sulla porta 80. Puoi farlo modificando il file /usr/lib/systemd/system/varnish.service:

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

Modificare la porta 6081 in 80 come mostrato di seguito:

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

Salva e chiudi il file, quindi ricarica il demone systemd per applicare le modifiche:

systemctl daemon-reload

Quindi, riavvia il servizio Varnish per applicare le modifiche:

systemctl restart varnish

Quindi, verifica la porta di ascolto di Varnish utilizzando il comando seguente:

ss -antpl | grep varnish

Dovresti vedere la porta di ascolto di Varnish nel seguente output:

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))

Configurare Nginx per funzionare con Varnish

In questa sezione, installeremo Nginx e lo configureremo per funzionare con Varnish. Innanzitutto, installa il pacchetto Nginx con il seguente comando:

dnf install nginx -y

Dopo aver installato Nginx, dovrai modificare il file di configurazione di Nginx e cambiare la porta di ascolto predefinita di Nginx da 80 a 8080.

Modifica il file di configurazione principale di Nginx usando il comando seguente:

nano /etc/nginx/nginx.conf

Trova le seguenti righe:

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

E, li ha sostituiti con le seguenti righe:

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

Salva e chiudi il file al termine, quindi avvia il servizio Nginx per applicare le modifiche:

systemctl start nginx

Puoi anche controllare lo stato di Nginx usando il seguente comando:

systemctl status nginx

Otterrai il seguente output:

? 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.

Verificare la Varnish Cache

A questo punto, Varnish è installato e configurato con il server web Nginx. Ora è il momento di testare la cache di Varnish.

Eseguire il comando seguente per verificare la cache di Varnish:

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

Se tutto va bene, otterrai il seguente output:

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

Conclusione

Congratulazioni! hai installato correttamente Varnish con Nginx su Rocky Linux 8. Ora puoi implementare Varnish nell'ambiente di produzione per velocizzare le prestazioni del tuo sito web. Sentiti libero di chiedermi se hai domande.

Support us with a

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.