GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come velocizzare Apache con la cache HTTP di Varnish su Ubuntu 18.04 LTS

Varnish è un server proxy incentrato sulla memorizzazione nella cache HTTP. È progettato come un 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, ti mostreremo come installare e configurare l'acceleratore HTTP Varnish come proxy inverso per il server Web Apache. Il vero server web Apache verrà eseguito su una porta HTTP non standard (in esecuzione sulla porta 8080). E Varnish verrà eseguito come proxy inverso sulla porta HTTP 80. Per questa guida, utilizzeremo il server LTS di Ubuntu 18.04.

Cosa faremo

  1. Installa il server Web Apache
  2. Cambia la porta predefinita di Apache
  3. Installa vernice
  4. Configura vernice
  5. Verifica la configurazione

Prerequisiti

  • Ubuntu 18.04 LTS
  • Privilegi di root

Passaggio 1:installazione del server Web Apache

Per iniziare, installa il server web Apache. Per impostazione predefinita, è disponibile nel repository di Ubuntu.

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

apt update
apt install -y apache2

Al termine dell'installazione, avvia il servizio Apache e abilitalo all'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.

Apri 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 all'avvio automatico all'avvio del sistema.

ufw enable

Digita 'y' e premi Invio per confermare.

Nuove porte per HTTP, HTTPS e SSH sono state aperte e sono accessibili dall'esterno della rete.

Se vuoi testare il server web Apache, puoi usare il comando netstat e assicurarti 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.

Passaggio 2:modifica della porta predefinita di Apache

In questo tutorial, utilizzeremo Apache come server back-end e non funzionerà con la porta HTTP standard 80. Il server Web Apache verrà eseguito sulla porta 8080 come back-end e la porta HTTP standard 80 verrà utilizzata da ' Vernice'.

Per modificare la porta Apache predefinita, dobbiamo modificare la configurazione di Apache 'ports.conf' e tutta la configurazione dell'host virtuale nella directory 'sites-available'.

Vai alla directory di configurazione di Apache.

cd /etc/apache2

Sostituisci la porta '80' con '8080' nella configurazione di Apache 'ports.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, verifica la configurazione di Apache e assicurati che non ci siano errori, quindi riavvia 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'.

Passaggio 3:installazione di Varnish HTTP Accelerator

In questo passaggio, installeremo Varnish dal repository di Ubuntu. E per questa guida useremo Varnish 5.2.

Installa vernice usando il seguente comando apt.

apt install -y varnish

Al termine dell'installazione, avvia Varnish e abilita l'avvio automatico all'avvio del sistema.

systemctl start varnish
systemctl enable varnish

La vernice è stata installata sul sistema Ubuntu 18.04.

Per impostazione predefinita, funziona con le porte "6081" per l'indirizzo pubblico e "6082" per l'indirizzo localhost. Controllalo usando il comando netstat di seguito.

netstat -plntu

E otterrai la porta di vernice predefinita.

Passaggio 4:configurare Varnish come proxy inverso per Apache

In questo passaggio, configureremo la vernice nella parte anteriore del server Web Apache. Varnish verrà eseguito sulla porta http 80 e ogni richiesta dai client verrà gestita da essa, prima di essere inviata al server Web Apache in esecuzione sulla porta 8080.

- Configurazione back-end

Vai alla directory di configurazione 'vernish' ed esegui il backup del file predefinito 'default.vcl'.

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

Modifica la configurazione di vernice 'default.vcl' usando l'editor vim.

vim default.vcl

Definisci la configurazione "backend" alla riga 16. Il backend per la nostra configurazione è Apache ed è in esecuzione sulla porta 8080. Quindi la configurazione di vernice per la nostra configurazione di Apache dovrebbe essere la seguente:

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

Salva ed esci.

- Esecuzione di vernice sulla porta 80

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

Modifica la configurazione dei parametri di vernice 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 del servizio di vernice 'varnish.service'. Vai alla directory '/lib/systemd/system' e modifica il file di servizio usando vim.

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

Nella riga 'ExecStart', cambia il comando di avvio di vernice come di seguito.

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,256m

Salva ed esci.

Ricarica la configurazione del servizio systemd e quindi riavvia Paint.

systemctl daemon-reload
systemctl restart varnish

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

netstat -plntu

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

Fase 5 - Test

Prova usando il comando curl.

curl -I hakase-labs.co

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

Verificando dal browser web, l'URL del mio server di prova è http://hakase-labs.co/. Scegli qui l'URL del tuo server.

E continuiamo a ricevere contenuti Apache.

Controlla il registro della vernice usando il comando 'vernishncsa'.

varnishncsa

E otteniamo il registro solo dal registro di accesso di Apache.

L'installazione e la configurazione della vernice per il server Web Apache sono state completate.


Ubuntu
  1. Come installare il server HTTP OpenLiteSpeed ​​con PHP su Ubuntu 18.04 LTS

  2. Come installare Jenkins Automation Server con Apache su Ubuntu 16.04

  3. Come installare il server HTTP Git con Nginx su Ubuntu 16.04

  4. Come installare HTTP Git Server con Nginx su Ubuntu 20.04

  5. Come installare Varnish Cache su Ubuntu 18.04 LTS

Come abilitare il protocollo HTTP/2 con Apache su Ubuntu 20.04

Come installare InvoiceNinja su Ubuntu 18.04 Server con Apache/Nginx

Come installare InvoiceNinja su Ubuntu 20.04 Server con Apache/Nginx

Come installare phpMyAdmin con Apache su Ubuntu 22.04 LTS

Come installare HTTP Git Server su Ubuntu 20.04 LTS

Come velocizzare Apache con Varnish Cache su CentOS 7