Configurare il server web
Configurare il server Web per l'ascolto su una porta diversa da quella predefinita 80, in quanto Vernice risponde direttamente alle richieste HTTP in ingresso, non al server Web.
Le sezioni seguenti utilizzano la porta 8080 come esempio.
Per modificare la porta di ascolto di Apache 2.4:
- Apri
/etc/httpd/conf/httpd.conf
in un editor di testo. - Individua il
Listen
direttiva. - Modifica il valore della porta di ascolto in
8080
. È possibile utilizzare qualsiasi porta di ascolto disponibile. - Salva le modifiche apportate a
httpd.conf
ed esci dall’editor di testo.
Modificare la configurazione del sistema di vernice
Per modificare la configurazione del sistema di vernice:
-
Come utente con
root
, apri il file di configurazione Vanish in un editor di testo:- CentOS 6:
/etc/sysconfig/varnish
- CentOS 7:
/etc/varnish/varnish.params
- Debian:
/etc/default/varnish
- Ubuntu:
/etc/default/varnish
- CentOS 6:
-
Impostare la porta di ascolto Vernice su 80:
code language-conf VARNISH_LISTEN_PORT=80
Per la vernice 4.x, assicurarsi che DAEMON_OPTS contenga la porta di ascolto corretta per
-a
(anche se VARNISH_LISTEN_PORT è impostato sul valore corretto):code language-conf DAEMON_OPTS="-a :80 \ -T localhost:6082 \ -f /etc/varnish/default.vcl \ -S /etc/varnish/secret \ -s malloc,256m"
-
Salvate le modifiche nel file di configurazione Vernice e uscite dall'editor di testo.
Modificare la VCL di default
Questa sezione illustra come fornire una configurazione minima in modo che Varish restituisca le intestazioni di risposta HTTP. Questo consente di verificare che la vernice funzioni prima di configurare Commerce applicazione per l’uso di vernice.
Per configurare la vernice in modo minimo:
-
Backup
default.vcl
:code language-bash cp /etc/varnish/default.vcl /etc/varnish/default.vcl.bak
-
Apri
/etc/varnish/default.vcl
in un editor di testo. -
Individua la seguente stanza:
code language-conf backend default { .host = "127.0.0.1"; .port = "80"; }
-
Sostituisci il valore di
.host
con il nome host o l'indirizzo IP completo e la porta di ascolto della vernice backend o server di origine ovvero il server che fornisce il contenuto Vernice accelera.In genere, si tratta del server web. Consulta Server back-end nel Guida alla vernice.
-
Sostituisci il valore di
.port
con la porta di ascolto del server web (8080 in questo esempio).Esempio: Apache è installato sull’host 192.0.2.55 e Apache è in ascolto sulla porta 8080:
code language-conf backend default { .host = "192.0.2.55"; .port = "8080"; }
note info INFO Se Vernice e Apache sono in esecuzione sullo stesso host, l’Adobe consiglia di utilizzare un indirizzo IP o un nome host e non localhost
. -
Salva le modifiche apportate a
default.vcl
ed esci dall’editor di testo. -
Vernice di riavvio:
code language-bash service varnish restart
Se l'avvio di Varning non riesce, provare a eseguirlo dalla riga di comando nel modo seguente:
varnishd -d -f /etc/varnish/default.vcl
Dovrebbero essere visualizzati messaggi di errore.
Verifica che la vernice funzioni
Le sezioni seguenti spiegano come verificare che Varnish funzioni, ma senza configurazione di Commerce per utilizzarlo. Prova prima di configurare Commerce.
Eseguire i task descritti nelle sezioni seguenti nell'ordine indicato:
Inizia vernice
Immetti: service varnish start
Se Varnish non si avvia come servizio, inizialo dalla riga di comando come segue:
-
Avvia CLI vernice:
code language-bash varnishd -d -f /etc/varnish/default.vcl
-
Avviare il processo di produzione di vernice:
Quando richiesto, immetti
start
Per confermare un avvio riuscito, vengono visualizzati i seguenti messaggi:
code language-terminal child (29805) Started 200 0 Child (29805) said Child (29805) said Child starts
netstat
Accedere al server Vernice e immettere il comando seguente:
netstat -tulpn
Cerca in particolare il seguente output:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 32614/varnishd
tcp 0 0 127.0.0.1:58484 0.0.0.0:* LISTEN 32604/varnishd
tcp 0 0 :::8080 :::* LISTEN 26822/httpd
tcp 0 0 ::1:48509 :::* LISTEN 32604/varnishd
Il precedente mostra la Vernice che corre sulla porta 80 e l'Apache che sulla porta 8080.
Se non vedi l’output per varnishd
, accertarsi che Vernice sia in esecuzione.
Consulta netstat
opzioni.
Installare il software Commerce
Installa il software Commerce, se non lo hai già fatto. Quando viene richiesto un URL di base, utilizzare l'host e la porta 80 di Varnish (per Varnish) perché quest'ultimo riceve tutte le richieste HTTP in entrata.
Possibile errore durante l’installazione di Commerce:
Error 503 Service Unavailable
Service Unavailable
XID: 303394517
Varnish cache server
Se si verifica questo errore, modificare default.vcl
e aggiungi un timeout al backend
strofa come segue:
backend default {
.host = "127.0.0.1";
.port = "8080";
.first_byte_timeout = 600s;
}
Verificare le intestazioni di risposta HTTP
Ora è possibile verificare che Vernice distribuisca le pagine osservando le intestazioni di risposta dei HTML restituite da qualsiasi pagina.
Prima di poter esaminare le intestazioni, è necessario impostare Commerce per la modalità sviluppatore. Esistono diversi modi per farlo, il più semplice dei quali è modificare .htaccess
nella directory principale dell’applicazione Commerce. È inoltre possibile utilizzare magento deploy:mode:set
comando.
Impostare Commerce per la modalità sviluppatore
Per impostare Commerce per la modalità sviluppatore, utilizza magento deploy:mode:set
comando.
Guardate il registro vernice
Verificare che Varnish sia in esecuzione, quindi immettere il seguente comando sul server di Varnish:
varnishlog
In un browser web, vai a qualsiasi pagina di Commerce.
Nella finestra del prompt dei comandi viene visualizzato un lungo elenco di intestazioni di risposta. Cerca intestazioni come le seguenti:
- BereqHeader X-Varnish: 3
- VCL_call BACKEND_FETCH
- VCL_return fetch
- BackendOpen 17 default(10.249.151.10,,8080) 10.249.151.10 60914
- Backend 17 default(10.249.151.10,,8080)
- Timestamp Bereq: 1440449534.261791 0.000618 0.000618
- ReqHeader Host: 10.249.151.10
- ReqHeader Connection: keep-alive
- ReqHeader Content-Length: 86
- ReqHeader Cache-Control: max-age=0
- ReqHeader Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
- ReqHeader Origin: http://10.249.151.10
Se le intestazioni come queste lo fanno non visualizzare, arrestare Vernice, controllare default.vcl
e riprova.
Esaminare le intestazioni di risposta di HTML
Esistono diversi modi per esaminare le intestazioni di risposta, incluso l’utilizzo di un plug-in del browser o di un controllo del browser.
L’esempio che segue utilizza curl
. Puoi immettere questo comando da qualsiasi computer in grado di accedere al server Commerce utilizzando HTTP.
curl -I -v --location-trusted '<your Commerce base URL>'
Ad esempio:
curl -I -v --location-trusted 'http://192.0.2.55/magento2'
Cerca intestazioni come le seguenti:
Content-Type: text/html; charset=iso-8859-1
X-Varnish: 15
Age: 0
Via: 1.1 varnish-v6
X-Magento-Cache-Debug: HIT