Nginx vs Apache: Quale ti serve meglio?

Featured Apache vs Nginx Design Credits: Vecteezy.com-226441

Per due decenni Apache ha dominato il mercato dei server web, che si sta riducendo giorno dopo giorno. Non solo Nginx ha raggiunto il più vecchio del gruppo, ma attualmente è il preferito di molti siti web ad alto traffico. Gli utenti di Apache potrebbero non essere d’accordo. Ecco perché non si dovrebbe saltare a conclusioni su quale server web sia migliore. La verità è che entrambi formano il nucleo di stack web completi, e la scelta finale dipende dalle esigenze individuali.

Ad esempio, le persone che gestiscono siti web Drupal spesso si affidano ad Apache, mentre gli utenti di WordPress sembrano favorire Nginx tanto, se non di più. Di conseguenza, il nostro obiettivo è aiutarti a comprendere meglio le tue esigenze piuttosto che fornire una raccomandazione unica. Detto ciò, il seguente confronto tra i due offre un quadro accurato.

Leggi anche: 12 Migliori Software Open-Source da Provare nel 2021

1. Popolarità

Fino al 2012, oltre il 65% dei siti web era basato su Apache, una popolarità dovuta in buona parte al suo lascito storico. È stato tra i primi software a pionierare la crescita del World Wide Web. Tuttavia, i tempi sono cambiati. Secondo W3Tech.com, al 14 gennaio 2019, Apache (44,4%) è appena avanti a Nginx (40,9%) in termini di siti web che utilizzano i loro server. Insieme dominano quasi l’85% del mercato dei server web.

Web Servers Market Share W3techs.com

Quando si tratta di siti web ad alto traffico, il seguente grafico è interessante. Naturalmente, Nginx è molto avanti rispetto ad Apache, ma è dietro ai server Google che alimentano siti come YouTube, Gmail e Drive.

Web Servers Market @ W3Techs 15-Jan-2019

A un certo punto, un gran numero di siti web (incluso questo sito) è migrato da Apache a Nginx. Chiaramente, quest’ultimo è visto come il server web più recente e alla moda. I siti web ad alto traffico che sono su Apache, ad esempio Wikipedia e New York Times, utilizzano spesso un proxy HTTP front-end come Varnish.

Punteggio: Il divario di popolarità tra Apache e Nginx si sta chiudendo molto rapidamente. Ma, poiché Apache è ancora avanti in numeri assoluti, considereremo questo turno un pareggio.

2. Velocità

La caratteristica principale di un buon server web è che dovrebbe funzionare velocemente e rispondere facilmente a connessioni e traffico da qualsiasi parte. Per misurare le velocità dei server, abbiamo confrontato due siti web di viaggio popolari basati su Apache (Expedia.com) e Nginx (Booking.com). Utilizzando uno strumento online chiamato Bitcatcha, i confronti sono stati effettuati per più server e misurati rispetto al benchmark di Google di 200 ms. Booking.com basato su Nginx è stato valutato “eccezionalmente veloce”. Al contrario, Expedia.com basato su Apache è stato valutato “sopra la media e potrebbe essere migliorato.”

Avendo utilizzato entrambi i siti web di viaggio così tante volte, posso personalmente attestare che Expedia sembra leggermente più lento nel restituire risultati alla mia query rispetto a Booking.

Web server response time Booking.com (Nginx) vs. Expedia.com (Apache)

Ecco i confronti tra i due server per alcuni altri siti web. Nginx sembra più veloce in tutti i casi sotto, tranne uno.

Website server speeds tested at Bitcatcha

Punteggio: Nginx vince il turno di velocità.

Leggi anche: Come impostare il certificato SSL gratuito “Let’s Encrypt” in Nginx (Ubuntu)

3. Sicurezza

Sia Nginx che Apache prendono molto sul serio la sicurezza dei loro siti web. Non manca un sistema robusto per affrontare attacchi DDoS, malware e phishing. Entrambi rilasciano periodicamente rapporti e avvisi di sicurezza che garantiscono che la sicurezza venga rafforzata a ogni livello.

Punteggio: Considereremo questo turno un pareggio.

4. Concorrenza

C’è una percezione che Apache in qualche modo non si misuri con la pura scala e capacità di Nginx. Dopotutto, Nginx è stato originariamente progettato per accelerare i problemi di velocità con i gestori FastCGI e SCGI. Tuttavia, a partire da Apache 2.4 (che è la versione predefinita), c’è stata un drastico miglioramento nel numero di connessioni simultanee. Quanto sia stato fatto questo miglioramento vale la pena scoprirlo.

Basato su test di stress su Loadimpact.com, abbiamo nuovamente confrontato Booking.com (Nginx) con Expedia.com (Apache). Per 25 utenti virtuali, il sito web Nginx è stato in grado di registrare 200 richieste al secondo, che è 2,5 volte superiore alle 80 richieste al secondo di Apache. Chiaramente, se hai un sito web ad alto traffico dedicato, Nginx è una scommessa più sicura.

Scalability testing Apache versus Nginx at Loadimpact.com

Punteggio: Nginx vince il turno di concorrenza.

5. Flessibilità

Un server web dovrebbe essere abbastanza flessibile da consentire personalizzazioni. Apache lo fa abbastanza bene utilizzando strumenti .htaccess, che Nginx non supporta. Consente la decentralizzazione dei doveri dell’amministratore. Gli amministratori di terze parti e di secondo livello possono essere impediti dall’accesso al server principale. Inoltre, Apache supporta più di 60 moduli che lo rendono altamente estensibile. C’è un motivo per cui Apache è più popolare tra i fornitori di hosting condiviso.

Flexible features of Apache: Modules plus htaccess example

Punteggio: Apache vince questo turno.

Altri Parametri

In passato Nginx non supportava molto bene Windows OS, a differenza di Apache. Questo non è più il caso. Inoltre, Apache era considerato debole per il bilanciamento del carico e il reverse proxy, cosa che ora è cambiata.

Risultato Finale

Nginx vince di misura questo contest 2-1. Detto questo, un confronto obiettivo tra Nginx e Apache su parametri tecnici non fornisce il quadro completo. Alla fine, il nostro verdetto è che entrambi i server web sono utili a modo loro.

Mentre Apache dovrebbe essere utilizzato con un server front-end (Nginx stesso è un’opzione), Nginx può essere migliore con più personalizzazioni e flessibilità.