GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare e configurare Varnish Cache 6 con Nginx su CentOS 8

Varnish Cache è un acceleratore HTTP proxy inverso gratuito e open source per siti Web e API. Può essere installato come proxy inverso davanti a qualsiasi server Web in esecuzione su HTTP. Si trova tra il server web e il browser e salva in memoria pagine web, cookie e altri dati. Questa cache verrà utilizzata per soddisfare tutte le future richieste di contenuti esattamente simili. Ciò aumenterà il carico dell'applicazione Web e migliorerà le prestazioni del server Web di oltre 300 volte.

In questo tutorial, imposteremo il server Nginx come server back-end e lo configureremo per l'ascolto sulla porta 8080, quindi configureremo la cache di Varnish per l'ascolto sulla porta HTTP predefinita 80.

Prerequisiti

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

Installa e configura il server Web Nginx

Innanzitutto, dovrai installare il server web Nginx nel tuo sistema. Puoi installarlo con il seguente comando:

dnf install nginx -y

Una volta installato, avvia il servizio Nginx e abilitalo all'avvio al riavvio del sistema con il seguente comando:

systemctl start nginx
systemctl enable nginx

Per impostazione predefinita, Nginx è in ascolto sulla porta 80. Quindi dovrai configurare Nginx per l'ascolto sulla porta 80. Puoi configurarlo modificando il file di configurazione predefinito di Nginx:

nano /etc/nginx/nginx.conf

Trova le seguenti righe:

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

E sostituiscili con le seguenti righe:

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

Salva e chiudi il file quando hai finito. Quindi, riavvia il servizio Nginx per applicare le modifiche:

systemctl restart nginx

A questo punto, il web server Nginx è installato ed è in ascolto sulla porta 8080. Puoi verificarlo usando il seguente comando:

netstat -tpln | grep 8080

Dovresti ottenere il seguente output:

tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      30367/nginx: master 
tcp6       0      0 :::8080                 :::*                    LISTEN      30367/nginx: master 

Installa Varnish Cache

Per impostazione predefinita, il pacchetto Varnish è disponibile nel repository predefinito di CentOS 8. Puoi installarlo semplicemente eseguendo il seguente comando:

dnf module install varnish

Una volta installato, avvia il servizio Varnish con il seguente comando:

systemctl start varnish

Puoi anche verificare la versione installata della cache di Varnish con il seguente comando:

varnishd -V

Dovresti vedere il seguente output:

varnishd (varnish-6.0.2 revision 0458b54db26cfbea79af45ca5c4767c7c2925a91)
Copyright (c) 2006 Verdens Gang AS
Copyright (c) 2006-2018 Varnish Software AS

Configura vernice per Nginx

Successivamente, dovrai configurare Paint per l'esecuzione sulla porta 80 per ricevere richieste HTTP dai client. Puoi configurarlo modificando il file di configurazione predefinito di Varnish:

systemctl edit --full varnish

Trova la riga seguente:

ExecStart=/usr/sbin/varnishd -a :6081 -f /etc/varnish/default.vcl -s malloc,256m

E sostituiscilo con la seguente riga:

ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m

Salva e chiudi il file quando hai finito.

Successivamente, dovrai definire il server back-end per Varnish. Puoi farlo modificando il file di configurazione principale di Varnish /etc/varnish/default.vcl:

nano /etc/varnish/default.vcl

Modifica le seguenti righe:

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

Salva e chiudi il file quando hai finito. Quindi, ricarica il demone systemd con il seguente comando:

systemctl daemon-reload

Quindi, riavvia il servizio Varnish e abilitalo all'avvio al riavvio del sistema con il seguente comando:

systemctl restart varnish
systemcl enable varnish

Puoi anche verificare lo stato della vernice con il seguente comando:

systemctl status varnish

Dovresti ottenere il seguente output:

? varnish.service - Varnish Cache, a high-performance HTTP accelerator
   Loaded: loaded (/etc/systemd/system/varnish.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2020-08-29 09:36:58 EDT; 12s ago
  Process: 30421 ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m (code=exited, status=0/SUCCESS)
 Main PID: 30424 (varnishd)
    Tasks: 217
   Memory: 91.8M
   CGroup: /system.slice/varnish.service
           ??30424 /usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m
           ??30434 /usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m

Aug 29 09:36:57 centos8 systemd[1]: Starting Varnish Cache, a high-performance HTTP accelerator...
Aug 29 09:36:58 centos8 varnishd[30421]: Debug: Version: varnish-6.0.2 revision 0458b54db26cfbea79af45ca5c4767c7c2925a91
Aug 29 09:36:58 centos8 varnishd[30421]: Debug: Platform: Linux,4.18.0-193.6.3.el8_2.x86_64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
Aug 29 09:36:58 centos8 varnishd[30424]: Version: varnish-6.0.2 revision 0458b54db26cfbea79af45ca5c4767c7c2925a91
Aug 29 09:36:58 centos8 varnishd[30424]: Platform: Linux,4.18.0-193.6.3.el8_2.x86_64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
Aug 29 09:36:58 centos8 varnishd[30421]: Debug: Child (30434) Started
Aug 29 09:36:58 centos8 varnishd[30424]: Child (30434) Started
Aug 29 09:36:58 centos8 varnishd[30424]: Child (30434) said Child starts
Aug 29 09:36:58 centos8 systemd[1]: Started Varnish Cache, a high-performance HTTP accelerator.

Ora puoi verificare la porta di ascolto di Nginx e Varnish con il seguente comando:

netstat -tpln | grep 80

Dovresti vedere il seguente output:

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      30424/varnishd      
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      30367/nginx: master 
tcp6       0      0 :::80                   :::*                    LISTEN      30424/varnishd      
tcp6       0      0 :::8080                 :::*                    LISTEN      30367/nginx: master 

Configura SELinux e Firewall

Per impostazione predefinita, SELinux è abilitato in CentOS 8. Quindi dovrai configurare SELinux per Varnish. Puoi configurarlo con il seguente comando:

setsebool -P httpd_can_network_connect 1

Successivamente, dovrai consentire la porta 80 tramite firewalld. Puoi farlo con il seguente comando:

firewall-cmd --permanent --zone public --add-port 80/tcp
firewall-cmd --reload

Una volta terminato, puoi procedere al passaggio successivo.

Testa cache vernice

A questo punto, la cache di Varnish è installata e configurata con il server web Nginx. Ora è il momento di verificare se la cache di Varnish funziona o meno.

Puoi testarlo usando il comando curl come mostrato di seguito:

curl -I http://localhost

Dovresti vedere il seguente output:

																																																																																																																																																																																																																																																																																																																																																																		
HTTP/1.1 200 OK
Server: nginx/1.14.1
Date: Sat, 29 Aug 2020 13:53:44 GMT
Content-Type: text/html; charset=UTF-8
X-Powered-By: PHP/7.2.24
X-Varnish: 32800
Age: 0
Via: 1.1 varnish (Varnish/6.0)
Accept-Ranges: bytes
Connection: keep-alive

Conclusione

Congratulazioni! hai installato correttamente Varnish Cache con Nginx su CentOS 8. Spero che tu possa anche configurare facilmente la cache Varnish con il server web Apache. Sentiti libero di chiedermi se hai domande.


Cent OS
  1. Come installare Nextcloud con Nginx e PHP 7.3 su CentOS 8

  2. Come installare ownCloud 9.1 con Nginx e MariaDB su CentOS 7

  3. Come installare Varnish Cache su CentOS

  4. Come installare Varnish Cache 4 su CentOS 7

  5. Come installare Varnish e phpMyAdmin su un VPS CentOS 7 con Nginx, MariaDB e PHP-FPM

Come installare ReactJS con proxy Nginx su CentOS 8

Come installare OwnCloud 8 con Nginx e PHP-FPM su CentOS 6

Come installare Varnish Cache 6 per Nginx su CentOS/RHEL 8

Come velocizzare Nginx con Varnish Cache su CentOS 7

Come velocizzare Apache con Varnish Cache su CentOS 7

Come installare Varnish Cache su CentOS 7