7 server Web open source per siti di piccole e grandi dimensioni

Abbiamo fatto molta strada da quando è stato rilasciato il primo server web. Ora ci sono tante altre opzioni eccitanti.

Progetti diversi hanno esigenze diverse, ma il reparto di server web open source era più o meno un monopolio. Per molto tempo, Apache è stata l’unica opzione e la gestione di carichi elevati è stata una seccatura. Per fortuna, i tempi sono cambiati e sono emerse nuove soluzioni per esigenze specifiche.

Diamo quindi un’occhiata ad alcuni dei migliori e più popolari server Web open source disponibili oggi.

Apache

È quasi sinonimo di World Wide Web e alimenta ancora la maggior parte dei siti Web nel mondo.

La ragione del predominio di Apache è triplice: una licenza aperta, accesso anticipato (questa cosa è stata rilasciata nel lontano 1995!) e una facile distribuzione di PHP. L’ultimo punto è stato reso possibile tramite il modulo mod_php, il che significava che l’installazione di Apache era tutto ciò che dovevi fare per sviluppare con PHP.

Ecco cosa fa Apache grande:

  • Disponibile su tutte le piattaforme: Linux, Windows, MacOS e altre piattaforme.
  • È il server predefinito per tutto l’hosting condiviso CPanel, semplificando la configurazione e la modifica dei siti.
  • Tonnellate di funzionalità offerte attraverso una vasta collezione di moduli. Non importa quanto oscure siano le tue esigenze, ci sarà sicuramente un modulo esistente per Apache.
  • Configurazione per directory tramite file .htaccess.
  • Supporto per HTTP/2, compressione, file statici e bilanciamento del carico.
  • Modalità MPM e FastCGI per offrire un’elevata simultaneità.
  • Facile scripting tramite Lua.

Apache fa per te?

In breve, sì. C’è stato un tempo in cui Nginx (che considereremo in seguito) è decollato a causa delle sue elevate prestazioni, ma Apache ha recuperato dopo la sua versione 2.2. Detto questo, come tutti i primi partecipanti, Nginx ha portato via molta attenzione in modo che tu possa imbatterti in alcune critiche (non valide) alle sue capacità.

Nginx

Se ti piace bere dalla fontana “kool-aid” (o per essere politicamente corretto, segui gli “ultimi” sviluppi), è probabile che tu ne abbia sentito parlare Nginx (pronunciato come “engine-x”, che era l’idea alla base del nome). È stato rilasciato come progetto nel 2002 da un ingegnere russo stufo dell’incapacità delle soluzioni allora presenti di battere il CK10 problema (in pratica, la gestione di migliaia di connessioni simultanee).

Quando Nginx è uscito, ha avuto un tale successo che la gente si è semplicemente allontanata da Apache e non ha mai guardato indietro. E la tendenza continua oggi. Mentre Apache è probabilmente alla pari oggi, Nginx ha offerto alcuni straordinari miglioramenti che lo hanno aiutato a vincere.

  • Architettura asincrona per la movimentazione di carichi elevati
  • Le migliori capacità di gestione dei file statici, bilanciamento del carico e proxy inverso.
  • Cache FastCGI
  • Supporto per uwsgi, SCGI e altri protocolli server, con memorizzazione nella cache.
  • Gzipping, trasformazione delle immagini, intervalli di byte, risposte a blocchi, ecc., con streaming FLV e MKV.
  • WebSocket, connessioni keepalive e pipeline
  • Controllo degli accessi, reindirizzamento degli errori, ecc.

Tutto sommato, Nginx è una centrale elettrica con un sacco di funzionalità che lo tengono all’avanguardia. Poiché l’azienda sottostante è un’azienda sostenibile, sono disponibili supporto e consulenza a pagamento per progetti complessi, che possono essere utili ad alcuni.

Nginx fa per te?

Se ti piace progettare applicazioni web a tuo piacimento, Nginx è un grande vantaggio. Puoi progettare sistemi complicati e distribuiti con potenti funzioni di caching, proxy e bilanciamento del carico, oltre a utilizzare Nginx per servire direttamente file statici con diverse ottimizzazioni.

E sì, Nginx è pronto per HTTP/2.

Interessato a imparare Nginx? Controlla questo corso fondamentale.

Caddy

Uno dei nuovi framework più interessanti che ha fatto breccia nella comunità open source di recente è Caddy.

Pensa a Caddy come a un server web simile a Nginx (sintassi simile e tutto il resto) ma tutto è semplificato a un estremo piacevole. Ad esempio, l’integrazione di Let’s Encrypt per SSL può essere eseguita in sole tre righe di configurazione.

Ecco perché Caddy sta attirando un sacco di attenzione:

  • HTTPS abilitato per impostazione predefinita. Sì, non devi fare nulla per installare o rinnovare i certificati SSL.
  • HTTP/2 ottiene l’obiettivo principale.
  • Ruota le chiavi del ticket di sessione TLS per impostazione predefinita. Ciò rende la gestione della connessione TLS molto più sicura che non è vulnerabile a artisti del calibro di Heartbleed.
  • Nessuna dipendenza (è una base di codice binaria compilata da Golang che non dipende da alcuna libreria di sistema sottostante)
  • Serve file statici nella directory corrente per impostazione predefinita!
  • Incorporabile: può essere utilizzato come libreria in altri programmi

Caddy fa per te?

Se brami la semplicità e sei scoraggiato dalle configurazioni ottuse di artisti del calibro di Apache e Nginx, Caddy si sentirà come una brezza d’aria fresca. Detto questo, funziona meglio quando sei soddisfatto delle impostazioni predefinite. Ad esempio, se desideri utilizzare il tuo provider SSL, avere una directory separata per i file statici (cosa che accade quasi sempre), e così via, i vantaggi svaniscono.

Puoi prendere Caddy su Kamatera VM a partire da $ 4 al mese.

Luce httpd

L’unica area in cui la maggior parte dei server Web moderni fallisce è l’utilizzo delle risorse. Luce httpd è stato progettato per superare queste sfide in ambienti con poca memoria e poca CPU.

Lighthttpd è basato sul modello di gestione delle richieste asincrono e quindi rispecchia essenzialmente il funzionamento di Nginx. Ma c’è un problema: Lighthttpd funziona in un singolo thread, quindi se hai una macchina più capace, ignorerà gli altri core della CPU. Manca anche delle funzionalità più elaborate di Nginx, come proxy SSL, HTTP/2 e simili.

Lighthttpd fa per te?

Lighthttpd è un server Web capace e a thread singolo che può gestire facilmente alcune centinaia di richieste al secondo e continuare a utilizzare facilmente le risorse di sistema. A parte questo, non ha molto da offrire rispetto alle alternative. Quindi forse se non hai bisogno di tutti i campanelli e dei fischietti – e stai davvero, davvero sudando per le risorse della macchina – vale la pena esplorare Lighthttpd.

Monkey Server

Nonostante il nome strano, il Scimmia web server è un progetto interessante che continua ad essere attivamente sviluppato e supportato.

L’attrazione principale di MonkeyServer è il supporto per piattaforme embedded. Dovresti compilare il server da solo, ma puoi spremere tutti i fronzoli e finire con un server web leggero e veloce.

  • Si rivolge principalmente a Linux, ma è supportato anche su MacOS
  • Pieno supporto per processori basati su ARM
  • Funziona perfettamente su Android, Raspberry Pi e altre piattaforme integrate
  • Runtime minimo (100 KB senza plug-in)
  • Supporta IPv6 e TLS
  • Funziona con CGI e FastCGI
  • Autenticazione di base, regole di sicurezza, ecc.

MonkeyServer fa per te?

Se vuoi indirizzare i dispositivi embedded, MonkeyServer è praticamente ciò di cui hai bisogno. Detto questo, funziona ugualmente bene sulle architetture x86 e x86-64 e può essere utilizzato per eseguire applicazioni su larga scala su macchine potenti. Ha una comunità molto più attiva e vivace rispetto ad altri server web alternativi, quindi non ti perderai mai se hai bisogno di aiuto.

OpenLite Speed

OpenLite Speed è la versione open source del server web aziendale offerto da LiteSpeed ​​Technologies.

Ci sono molte ragioni per apprezzare OpenLiteSpeed:

  • Compatibile con mod_rewrite di Apache, il che significa che se hai un sacco di file Apache esistenti, la migrazione sarà un dolore minimo.
  • Architettura guidata dagli eventi sulla scia di Nginx, con conseguente elevato throughput.
  • Interfaccia di amministrazione basata su GUI, che offre una piacevole esperienza di configurazione.
  • SAPI nativo per PHP, con prestazioni più elevate.
  • Le ottimizzazioni della memorizzazione nella cache e di Google PageSpeedInsights vengono applicate per impostazione predefinita.

OpenLiteSpeed ​​fa per te?

OpenLiteSpeed ​​ha molto senso per i siti Web basati sui contenuti basati su WordPress, poiché le ottimizzazioni delle pagine fanno già parte del server. Poiché è ottimizzato per le prestazioni di PHP, le basi di codice e i progetti basati su PHP possono trarne enormi benefici.

Cherokee

Il Cherokee progetto era un prurito personale di uno sviluppatore, che è diventato una piattaforma di server web decente. Sebbene non abbia funzionalità all’avanguardia come Nginx, fornisce un’alternativa facile, divertente e performante ai server Web tradizionali.

La vittoria più grande per Cherokee è la semplicità: non è necessario sudare con la riga di comando per configurare il server. Un’interfaccia intuitiva basata sul Web viene fornita in dotazione ed è un piacere da usare per coloro che preferiscono il metodo punta e clicca per fare le cose.

Fonte: Linode

Sebbene Cherokee non sia sviluppato molto attivamente, è comunque una buona scommessa per la maggior parte dei progetti di tutti i giorni. Dai un’occhiata!

Conclusione

La vita non avrebbe significato senza i server web e, per fortuna, ora ne abbiamo un bel po’ tra cui scegliere. Qual è il tuo server web open source preferito? Se pensi che mi sia sfuggito un elemento essenziale nell’elenco, faccelo sapere nei commenti e sarò più che felice di aggiungerlo! 🙂