Corsi on-line

Nginx, perché preferirlo ad Apache?

Soprattutto a discapito di un’altra soluzione Open Source come Apache, Nginx sta diventando un server HTTP sempre più utilizzato; nato nel 2002 grazie ad un progetto dell’informativo russo Igor Sysoev, l’Engine X (questo il suo nome per esteso) è riuscito a migliorare nettamente nel corso degli anni, tanto da poter garantire oggi un livello di affidabilità ritenuto da molti SysAdmin superiore a quello di Apache, qualità sottolineata da una maggiore capacità nella gestione di grandi quantità di richieste in simultanea.

CatturaAl di là di quelle che sono le “tifoserie” che spesso si creano attorno a due applicazioni o piattaforme alternative (si pensi alle da sempre  irrisolte diatribe tra vari CMS, ad esempio Drupal Vs. Joomla, o tra diversi sistemi operativi, Microsoft Vs. Linux..), le differenze tra Nginx e Apache sono in particolare di carattere tecnico; quest’ultimo infatti si propone come un server basato sui processi (ad input/output sincrono), quando vengono gestite attraverso di esso più connessioni in contemporanea, ciascuna connessione richiederà un thread dedicato.

Nginx invece è un’applicazione Event-driven che utilizza un sistema differente, cioè basato su sockets asincroni che consentono di gestire più richieste HTTP simultanee per singolo processo evitando la moltiplicazione del numero dei threads; la conseguenza di tale impostazione si riassume nel fatto che i (pochi) processi di Nginx saranno in grado di rispondere ad un maggior numero di richieste rispetto a quelli di Apache dove è previsto l’accoppiamento esclusivo tra connessioni e thread del server.

Un altro vantaggio nell’utilizzo di Nginx risiede nell’inferiore consumo di memoria (ricollegabile alla minore necessità di produrre processi), in particolare quando esso si occupa di gestire pagine statiche, mentre Apache, per quanto riguarda l’impatto sulla memoria, opererebbe sulla base di un minor livello di differenziazione tra le risorse e le tecnologie con le quali queste vengono generate (ad esempio semplice markup HTML per le pagine statiche o HTML prodotto tramite linguaggi SSI come PHP).

Da non dimenticare anche la maggiore leggibilità dei file di configurazione di Nginx, caratteristica che li rende di conseguenza anche più facilmente modificabili e personalizzabili rispetto a quelli di Apache; a tal proposito è possibile ricordare che anche Nginx viene messo a disposizione con un file d’esempio  per la configurazione (che prende il nome di default), rintracciabile in Linux (nello specifico su Debian) sul percorso /etc/nginx/sites-enabled e utilizzabile per la definizione dei  Virtual Hosts.

Per approfondire

Post correlati
I più letti del mese
Tematiche