Cloud e Server

Apache vs Nginx

Apache vs Nginx

Apache vs NginxQuando si parla di web server open source i primi due nomi che vengono fuori sono Apache e Nginx.  Ben il 50% del traffico web è gestito da queste due soluzioni.  Quale adottare? Quali le differenze? Nell’articolo che segue cercheremo di dare risposta a queste domande.

 

 

 

Caratteristiche generali

 

Apache – Gli amministratori di sistema spesso preferiscono Apache per la sua potenza, flessibilità e per l’ampio supporto offerto. Una serie di moduli caricabili dinamicamente consentono di far funzionare diversi linguaggi interpretati senza la necessità di dover usare programmi esterni.

 

Nginx – Chi sceglie Nginx lo fa per l’efficienza nella gestione delle risorse e per la sua reattività quando i carichi di lavoro diventano importanti.

 

 

 

Statico vs Dinamico

Uno dei paragoni maggiormente utilizzati tra Nginx e Apache riguarda il modo in cui i server gestiscono le richieste di contenuti dinamici e statici.

 

Apache – I server Apache gestiscono i contenuti statici utilizzando i cosiddetti moduli multi processo (Indicano il modo in cui le richieste dei client vengono gestite). 

L’elaborazione dei contenuti dinamici avviene senza la necessità di dover ricorrere a componenti esterni, ma tramite interpreti che vengono attivati attraverso moduli caricabili in maniera dinamica. Questa gestione interna dei contenuti dinamici non necessita di software aggiuntivi.

 

Nginx – A differenza di Apache, Nginx non può elaborare i contenuti dinamici in modo nativo.  Per la gestione di PHP e di altre richieste dinamiche il web server necessita di un interprete esterno.  Questa logica di funzionamento rende necessaria una configurazione di comunicazione tra Nginx ed interprete; tale esigenza tende a complicare un po’ le cose quando si cerca di anticipare il numero di connessioni consentite. 

Questo metodo, però, offre anche dei vantaggi.  Visto che l’interprete dinamico non è incorporato nel processo, il contenuto dinamico viene servito immediatamente, mentre l’interprete viene chiamato in causa solo quando necessario.

 

 

 

Moduli

Sia Nginx che Apache sono espandibili tramite un sistema di moduli che operano in maniera significativamente differente.

 

Apache – Apache permette di caricare o scaricare moduli in maniera dinamica ed in modo tale da soddisfare le varie esigenze che si presentano nel corso dell’esecuzione delle operazioni del server.  I moduli possono essere attivati ​​o disattivati, ed è possibile aggiungere o rimuovere funzionalità aggiuntive.

I moduli, oltre al trattamento dei contenuti dinamici, possono essere utilizzati per l’autenticazione dei client, la riscrittura degli URL, il caching, il log, le funzioni di proxy, la compressione, la limitazione della banda, ecc.

 

Nginx – A differenza di Apache, i moduli non sono caricabili in maniera dinamica, ma devono essere selezionati e compilati nel programma principale.  Questa caratteristica, nonostante renda il sistema meno flessibile, è considerata da diversi utenti sinonimo di sicurezza vista l’impossibilità di far caricare al server componenti arbitrari.

I moduli Nginx, come i moduli Apache, possono fornire il supporto proxy, la limitazione di banda, la compressione, la riscrittura, la geolocalizzazione, il logging, la crittografia, lo streaming, ecc.

 

 

 

Conclusione

Sia Apache che Nginx si contraddistinguono nel panorama dei web server per flessibilità e potenza. La decisione su quale scegliere non può prescindere dalle specifiche esigenze e dalla valutazione del progetto in corso di realizzazione.  Per qualunque dubbio o domanda noi di HostingPerTe siamo a tua completa disposizione.

Back to list