Puoi migliorare il funzionamento del server web che ospita i siti web dei tuoi clienti, installando nginx, un server web aggiuntivo ad elevate prestazioni, normalmente utilizzato come server proxy inverso. Questo server web è stato appositamente progettato per distribuire vaste quantità di contenuto statico (come immagini, video, css, xml eccetera). A differenza di Apache, nginx è molto più efficace quando si tratta di gestire un gran numero di connessioni simultanee. Un altro vantaggio di questo server web rispetto ad Apache è che nginx ha un'impronta di memoria significativamente inferiore per connessione client.
Per potenziare i vantaggi di nginx, Plesk lo configura come un server proxy inverso che agisce tra Internet e Apache (vedi grafico sotto). Questo significa che nginx diventa un server web front-end che elabora tutte le richieste in arrivo dai visitatori del sito. Le richieste sono inviate ad Apache, il quale distingue, in cambio, le richieste per il contenuto statico e quello dinamico. Se una richiesta è per un file statico (come jpg, css, html, ecc.), Apache passa la richiesta attraverso tutti i gestori registrati (applica la configurazione a livello della directory .htaccess
, riscrive un URL, ecc.) e restituisce a nginx una risposta che contiene soltanto la posizione del file richiesto sul file system. nginx, individua il file e lo invia al client. Se la richiesta è per un file dinamico (come ad esempio, uno script PHP), Apache esegue il file e invia la risposta a nginx, il quale lo consegna al client.
Questo tipo di combinazione tra nginx e Apache offre i seguenti vantaggi:
I dettagli tecnici su come elabora Plesk le richieste HTTP con l'aiuto di nginx sono forniti più avanti in questa sezione. Per maggiori informazioni su come attivare il supporto per nginx in Plesk, consultare la sezione Installazione di nginx. Se non desideri usare nginx, rendi Apache il tuo server web front-end seguendo le istruzioni nella sezione Disattivare nginx.
Per integrare perfettamente nginx con Apache, Plesk usa due moduli Apache aggiuntivi:
.htaccess
i moduli correlati, mod_php, eccetera). Perciò, se la richiesta è per contenuto dinamico, mod_aclr2 non l'otterrà mai perché la richiesta sarà servita da gestori di livello superiore di certi moduli Apache (mod_php, mod_perl, mod_cgi eccetera). Le uniche eccezioni sono le richieste SSI: una volta arrivano a mod_aclr2, le reindirizza verso i gestori corretti. Se la richiesta è per un file statico, mod_aclr2 cerca il percorso del file esatto sul file system e invia il percorso a nginx. Diamo uno sguardo più da vicino al modo in cui Plesk elabora le richieste per contenuti statici e dinamici con l'aiuto di questi moduli.
La sequenza di elaborazione di una richiesta HTTP per un file statico è la seguente (vedi diagramma):
.htaccess
, riscrive l'URL eccetera). In questo passaggio, mod_rpaf sostituisce l'indirizzo IP del server nginx nella variabile Apache REMOTE_ADDR con l'indirizzo del client dall'intestazione X-Forwarded-For.Il diagramma seguente è un esempio di come gestisce Plesk una richiesta di un file GIF di 2 KB.
Nel caso di elaborare richieste per contenuto dinamico, i passaggi da 1 a 3 sono gli stessi. Quindi la richiesta passa al gestore del modulo Apache appropriato (mod_php, mod_perl, mod_cgi eccetera). La richiesta non arriva mai a mod_aclr2 (eccetto per le richieste SSI). Il gestore genera una risposta e l'invia a nginx, il quale consegna in cambio la risposta al cliente. Il diagramma sottostante illustra il modo in cui Plesk elabora una richiesta per un file PHP.
Se realizzi un'installazione da zero di Plesk, nginx sarà attivato in modo predefinito. Se aggiorni da versioni precedenti, puoi aggiungere il componente nginx in qualsiasi momento dopo l'aggiornamento in Strumenti e Impostazioni > Aggiornamenti > Aggiungi componenti. Una volta aggiunto il componente, è necessario eseguire il servizio Server proxy inverso (nginx) in Strumenti e Impostazioni > Gestione di Servizi.
Puoi visualizzare la versione del server nginx installato in Strumenti e Impostazioni > Componenti del server.
Per tornare alla configurazione con un singolo server web Apache, arresta il servizio Server proxy inverso (nginx) in Strumenti e Impostazioni > Gestione di servizi.
Per rendere nginx il server web front-end nuovamente, avvia il servizio Server proxy inverso (nginx).
Nota: Le operazioni di avvio e di arresto per il servizio Server proxy inverso (nginx) non solo iniziano e arrestano nginx, ma infatti attivano la configurazione del server web (combinazione di nginx e Apache o solo Apache come server web front-end). L'operazione di riavvio funziona nello stesso modo che per tutti gli altri servizi: Il servizio nginx viene riavviato.