Come velocizzare Apache con Varnish HTTP cache su Ubuntu 18.04 LTS

Varnish è un server proxy focalizzato sul caching HTTP. È progettato come acceleratore HTTP e può fungere da proxy inverso per il tuo server Web (Apache o Nginx). La vernice è stata utilizzata per siti Web di alto profilo e ad alto traffico, tra cui Wikipedia, The Guardian e The New York Times.

In questo tutorial, vi mostreremo come installare e configurare il Varnish HTTP accelerator come proxy inverso per il server web Apache. Il vero server web Apache verrà eseguito con una porta HTTP non standard (in esecuzione sulla porta 8080). E Varnish verrà eseguito come proxy inverso sulla porta HTTP 80. Per questa guida, useremo il server Ubuntu 18.04 LTS.

Cosa faremo

  1. Installa il server Web Apache
  2. Cambia la porta predefinita Apache
  3. Installa Varnish
  4. Configura Varnish
  5. Prova la configurazione

Prerequisiti

  • Ubuntu 18.04 LTS
  • Privilegi di root

Passo 1 – Installare Apache Web server

Per avviare, installare il server web Apache. Per impostazione predefinita, è disponibile nel repository di Ubuntu.

Aggiorna il repository di Ubuntu e quindi installa Apache usando il comando apt.

apt update
apt install -y apache2

Al termine dell’installazione, avviare il servizio Apache e consentirne l’esecuzione automatica all’avvio del sistema utilizzando i seguenti comandi systemctl.

systemctl start apache2
systemctl enable apache2

Il server web Apache è stato installato.

Successivamente, per consentire a tutti l’accesso al server web, dobbiamo consentire HTTP e HTTPS sulla nostra regola del firewall. Per impostazione predefinita, Ubuntu viene fornito con un pacchetto firewall denominato UFW.

Aprire nuove porte SSH, HTTP e HTTPS utilizzando i seguenti comandi UFW.

ufw allow ssh
ufw allow http
ufw allow https

Ora avvia il servizio firewall e abilitalo per l’avvio automatico all’avvio del sistema.

ufw enable

Digitare ‘y’ e premere Invio per confermare.

Sono state aperte nuove porte per HTTP, HTTPS e SSH e sono accessibili dall’esterno della rete.

Se si desidera testare il server Web Apache, è possibile utilizzare il comando netstat e assicurarsi che Apache sia in esecuzione sotto la porta 80.

netstat -plntu

Oppure puoi usare il seguente comando curl.

curl -I hakase-labs.co

Dovresti ottenere il risultato come mostrato di seguito.

Fase 2-Modifica porta predefinita Apache

In questo tutorial, useremo Apache come server di back-end, e non verrà eseguito sotto la porta HTTP standard 80. Il server Web Apache verrà eseguito sulla porta 8080 come backend e la porta HTTP standard 80 verrà utilizzata da’Varnish’.

Per cambiare la porta apache predefinita, dobbiamo modificare le porte della configurazione di apache.conf ‘e tutta la configurazione dell’host virtuale nella directory ‘sites-available’.

Vai alla directory di configurazione di Apache.

cd /etc/apache2

Sostituire la porta ’80’ con ‘8080’ nelle porte di configurazione di Apache.conf ‘e tutti i file host virtuali nella directory ‘sites-available’. Possiamo farlo eseguendo i seguenti comandi sed.

sed -i -e 's/80/8080/g' ports.conf
sed -i -e 's/80/8080/g' sites-available/*

Quindi, testare la configurazione di Apache e assicurarsi che non vi siano errori, quindi riavviare il servizio Apache.

apachectl configtest
systemctl restart apache2

Ora Apache è in esecuzione sotto la porta HTTP ‘8080’, controllalo usando il comando’ netstat ‘ come mostrato di seguito.

netstat -plntu

Assicurati di avere il risultato come di seguito.

Quindi puoi vedere che il server web Apache è in esecuzione sulla porta ‘8080’.

Passo 3 – Installare Varnish HTTP Accelerator

In questa fase, installeremo Varnish dal repository Ubuntu. E per questa guida, useremo la vernice 5.2.

Installa varnish usando il seguente comando apt.

apt install -y varnish

Al termine dell’installazione, avviare Varnish e consentirne l’avvio automatico all’avvio del sistema.

systemctl start varnish
systemctl enable varnish

Varnish è stato installato sul sistema Ubuntu 18.04.

Per impostazione predefinita, è in esecuzione sotto le porte ‘6081’ per l’indirizzo pubblico e ‘6082’ per l’indirizzo localhost. Controllalo usando il comando netstat qui sotto.

netstat -plntu

E otterrai la porta di vernice predefinita.

Fase 4-Configurare Varnish come proxy inverso per Apache

In questa fase, configureremo varnish sulla parte anteriore del server web Apache. Varnish verrà eseguito sotto la porta http 80 e ogni richiesta dei client verrà gestita da esso, prima di essere inviata al server Web Apache in esecuzione sulla porta 8080.

– Configurazione backend

Vai alla directory di configurazione ‘varnish’ e fai il backup del file predefinito ‘default.vcl’.

cd /etc/varnish/
cp default.vcl default.vcl.aseli

Modifica la configurazione predefinita di varnish.vcl ‘ utilizzando l’editor vim.

vim default.vcl

Definire la configurazione ‘backend’ sulla riga 16. Il backend per la nostra configurazione è Apache, ed è ‘ in esecuzione sulla porta 8080. Quindi la configurazione di varnish per la nostra configurazione di Apache dovrebbe essere la seguente:

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

Salva ed esci.

– Esecuzione di Varnish sulla porta 80

Successivamente, è necessario modificare le porte di vernice predefinite. Le porte predefinite per varnish sono ‘6081’ e ‘6082’ e dobbiamo cambiare la porta sulla porta HTTP 80 (solo per l’indirizzo pubblico).

Modifica la configurazione dei parametri varnish nella directory ‘/etc/default’.

cd /etc/default/
vim varnish

Modifica la riga ‘DAEMON_OPTS’, cambia la porta predefinita ‘6081’ per l’indirizzo pubblico con la porta HTTP standard ’80’ come mostrato di seguito.

DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"

Salva ed esci.

Successivamente, dobbiamo modificare il file di servizio varnish ‘varnish.servizio”. Vai alla directory ‘/ lib / systemd / system ‘ e modifica il file di servizio usando vim.

cd /lib/systemd/system/
vim varnish.service

Sulla riga ‘ExecStart’, modificare il comando varnish start come di seguito.In questo caso,il sistema di gestione dei dati non è più in grado di gestire i dati personali.vcl – S/etc/varnish / secret-s malloc, 256m

Salva ed esci.

Ricaricare la configurazione del servizio systemd e quindi riavviare varnish.

systemctl daemon-reload
systemctl restart varnish

Ora controlla varnish e assicurati che sia in esecuzione sulla porta HTTP 80.

netstat -plntu

Quindi Varnish è ora in esecuzione sotto la porta HTTP 80 come front-end per il server Web Apache, che si trova sulla porta 8080.

Passo 5 – Testing

Test utilizzando il comando curl.

curl -I hakase-labs.co

Assicurati di ottenere l’intestazione HTTP come mostrato di seguito.

Controllando dal browser Web, l’URL del mio server di test è http://hakase-labs.co/. Scegli qui l’URL del tuo server.

E otteniamo ancora contenuti Apache.

Controllare il registro varnish usando il comando’ varnishncsa’.

varnishncsa

E otteniamo il registro solo dal registro di accesso Apache.

L’installazione e la configurazione di Varnish per il server Web Apache sono state completate.

Leave a Reply

Il tuo indirizzo email non sarà pubblicato.