Nginx, pronunciato “engine-ex”, è un web server open source che, a cominciare dal suo successo iniziale come server, è ora utilizzato anche come proxy inverso, cache HTTP e bilanciatore di carico.

Tra le varie aziende di alto profilo che utilizzano Nginx, ricordiamo Autodesk, Atlassian, Intuit, T-Mobile, GitLab, DuckDuckGo, Microsoft, IBM, Google, Adobe, Salesforce, VMWare, Xerox, LinkedIn, Cisco, Facebook, Target, Citrix Systems, Twitter, Apple , Intel e molti altri (fonte).

Nginx è stato originariamente creato da Igor Sysoev, con il suo primo rilascio al pubblico nell’ottobre del 2004. Igor inizialmente concepì il software come risposta al problema C10k, riguardante le anomalie delle prestazioni nella gestione di 10.000 connessioni simultanee.

Dato che le sue origini sono legate all’ottimizzazione delle prestazioni su scala, nei test di benchmark Nginx supera spesso le prestazioni di altri server web popolari, specialmente in situazioni con contenuto statico e/o numerose richieste simultanee, motivo per cui Kinsta utilizza Nginx per alimentare il suo servizio di hosting.

Come funziona Nginx?

Nginx è stato progettato per garantire un basso consumo di memoria e un’elevata concorrenza. Anziché creare nuovi processi per ogni richiesta web, Nginx utilizza un approccio asincrono, basato sugli eventi, in cui le richieste vengono gestite in un singolo thread.

Con Nginx, un processo master può controllare più processi worker. Il master mantiene i processi worker, mentre i worker eseguono l’elaborazione effettiva. Poiché Nginx è asincrono, ogni richiesta può essere eseguita dal worker contemporaneamente senza bloccare altre richieste.

Alcune caratteristiche comuni di Nginx sono:

  • Reverse proxy con caching
  • IPv6
  • Bilanciamento del carico
  • Supporto FastCGI con caching
  • WebSockets
  • Gestione di file statici, file indice e autoindicizzazione
  • TLS/SSL con SNI

Su Kinsta, puoi dare un’occhiata a Nginx e a tutti gli altri nostri add-on premium.

Statistiche di Utilizzo di Nginx rispetto ad Apache

Apache è un altro famoso web server open-source. In termini di numeri grezzi, Apache è il server web più popolare, ed è utilizzato dal 47% di tutti i siti web con un server noto, secondo quanto afferma W3Techs. Nginx è secondo a poca distanza con il 41.8%.

Netcraft ha fatto un sondaggio su 233 milioni di domini e ha scoperto che l’utilizzo di Apache si attesta al 31.54%, mentre l’utilizzo di Nginx è al 26.20%.

Web server developers: quote di mercato dei domini
Web server developers: quote di mercato dei domini (Origine immagine: Netcraft)

Mentre Apache è l’opzione complessivamente più popolare, Nginx è in realtà il server web più popolare tra i siti web ad alto traffico.

Quando si analizzano i tassi di utilizzo in base al traffico, Nginx alimenta:

  • Il 60,9% dei 100.000 siti più popolari (dal 56,1% del 2018)
  • Il 67.1% dei 10.000 siti più popolari (dal 63.2% del 2018)
  • Il 62.1% dei 1.000 siti più popolari (dal 57% del 2018)

Infatti, Nginx è utilizzato da alcuni dei siti che consumano più risorse, tra cui Netflix, NASA e persino WordPress.com.

L’utilizzo di Apache, d’altra parte, si muove nella direzione opposta rispetto all’aumento del traffico del sito. Questo alimenta:

  • Il 24,0% dei 100.000 siti più popolari (dal 27,1% del 2018)
  • Il 18,8% dei 10.000 siti più popolari (dal 21,5% del 2018)
  • Il 16,6% dei 1.000 siti più popolari (dal 16,2% del 2018)

Se diamo un’occhiata ai termini di ricerca di Google dal 2004, possiamo vedere che Apache è in costante decrescita, mentre Nginx ha visto una leggera crescita.

Termini di ricerca Nginx vs Apache
Nginx vs Apache

Ancora una volta, considerando che Nginx offre prestazioni migliori su scala, non sorprende che i siti web ad alto traffico optino per Nginx piuttosto che ad Apache. Dai un’occhiata al nostro confronto più approfondito di Nginx vs Apache.

Come Verificare se Girate su Nginx o Apache

Per la maggior parte dei siti Web, basta semplicemente controllare l’intestazione HTTP server per vedere è Nginx o Apache. Potete vedere le intestazioni HTTP lanciando la scheda di rete in Chrome Devtools. Oppure potete controllare le intestazioni in uno strumento come Pingdom o GTmetrix.

Tuttavia, l’intestazione HTTP potrebbe non rivelare sempre il server web sottostante. Ad esempio, se il vostro sito WordPress è dietro un servizio proxy come Cloudflare, l’intestazione HTTP del server dirà, invece, cloudflare.

Header HTTP Nginx
Header HTTP Nginx