Mycket har förändrats sedan den första webbservern såg dagens ljus. Idag finns det en mångfald av spännande alternativ att välja mellan.
Varje projekt har sina egna unika krav, men länge dominerades området för webbservrar med öppen källkod av ett fåtal aktörer. Under en lång tid var Apache det enda verkliga alternativet, och att hantera hög trafik var en utmaning. Som tur är har situationen förändrats och nya lösningar har dykt upp som passar olika specialiserade behov.
Låt oss nu utforska några av de mest framstående och populära webbservrarna med öppen källkod som finns tillgängliga idag.
Apache
Apache har nästan blivit synonymt med World Wide Web och driver fortfarande en betydande del av världens webbplatser.
Apeches dominans kan tillskrivas tre faktorer: dess öppna licens, att den tidigt etablerade sig på marknaden (den lanserades redan 1995!) och att den enkelt möjliggjorde distribution av PHP. Det sistnämnda berodde på mod_php-modulen, vilket innebar att installation av Apache var det enda som krävdes för att börja utveckla med PHP.
Här är några av de saker som gör Apache till en bra webbserver:
- Den är tillgänglig på alla stora plattformar – Linux, Windows, macOS och andra.
- Den är standardservern för delad CPanel-hosting, vilket gör det enkelt att konfigurera och ändra webbplatser.
- Den erbjuder omfattande funktionalitet genom en stor samling av moduler. Oavsett hur specifika dina behov är, finns det sannolikt en modul som passar.
- Den tillåter konfiguration per katalog genom .htaccess-filer.
- Den har stöd för HTTP/2, komprimering, statiska filer och lastbalansering.
- Den erbjuder MPM- och FastCGI-lägen för att hantera hög trafik.
- Den stöder enkel skriptning med Lua.
Är Apache rätt val för dig?
Svaret är i de flesta fall, ja. Det var en period när Nginx (som vi kommer att gå in på härnäst) fick stor uppmärksamhet på grund av sin höga prestanda, men Apache har hunnit ikapp sedan version 2.2. Som sagt, Nginx fick mycket uppmärksamhet som tidig aktör, vilket kan leda till en del (ogrundad) kritik om Apaches kapacitet.
Nginx
Om du gillar att följa de senaste trenderna, är det mycket möjligt att du har hört talas om Nginx (uttalas ”engine-x”, vilket var inspirationen bakom namnet). Den lanserades som ett projekt år 2002 av en rysk ingenjör som var trött på att de befintliga lösningarna hade svårt att lösa C10k-problemet (att hantera tusentals samtidiga anslutningar).
När Nginx kom ut, skapade den en sådan våg att många flyttade från Apache och aldrig tittade tillbaka. Trenden håller i sig än idag. Även om Apache utan tvekan är likvärdig idag, erbjöd Nginx några betydande förbättringar som hjälpte den att vinna popularitet.
- Asynkron arkitektur för att hantera hög belastning.
- Bäst i klassen för hantering av statiska filer, lastbalansering och omvänd proxy.
- FastCGI-cache.
- Stöd för uwsgi, SCGI och andra serverprotokoll med caching.
- Gzipping, bildtransformation, byteintervall, chunked responses, med FLV- och MKV-streaming.
- WebSockets, Keepalive och pipelineanslutningar.
- Åtkomstkontroll, felomdirigering med mera.
Sammantaget är Nginx ett kraftfullt verktyg med en mängd funktioner som håller den relevant. Eftersom företaget bakom är etablerat finns betald support och rådgivning tillgänglig för komplexa projekt, vilket kan vara värdefullt för vissa användare.
Är Nginx rätt val för dig?
Om du vill designa webbapplikationer efter egna önskemål är Nginx ett bra val. Du kan utforma komplicerade och distribuerade system med kraftfull cachning, proxy och lastbalansering, samtidigt som du använder Nginx för att servera statiska filer med många optimeringar.
Och ja – Nginx är kompatibel med HTTP/2.
Är du intresserad av att lära dig mer om Nginx? Kolla in den här grundkursen.
Caddy
Ett av de nyare och mest populära ramverken i öppen källkodssamhället är Caddy.
Tänk på Caddy som en Nginx-liknande webbserver (med liknande syntax) men där allt har förenklats till en extrem nivå. Till exempel kan Let’s Encrypt-integrering för SSL göras med bara tre rader konfiguration.
Här är anledningen till att Caddy får mycket uppmärksamhet:
- HTTPS är aktiverat som standard. Du behöver inte göra något för att installera eller förnya SSL-certifikat.
- HTTP/2 är i fokus.
- Den roterar TLS-sessionsbiljettnycklar som standard, vilket ger en säkrare hantering av TLS-anslutningar som inte är sårbar för exempelvis Heartbleed.
- Den har inga beroenden (det är en Go-kompilerad binär kodbas som inte är beroende av underliggande systembibliotek).
- Den serverar statiska filer från den aktuella katalogen som standard!
- Den är inbäddningsbar – kan användas som ett bibliotek i andra program.
Är Caddy rätt val för dig?
Om du vill ha enkelhet och tycker att de komplexa konfigurationerna hos webbservrar som Apache och Nginx är avskräckande, kommer Caddy att kännas som en lättnad. Som sagt, den fungerar bäst om du är nöjd med standardinställningarna. Om du till exempel vill använda din egen SSL-leverantör, ha en separat katalog för statiska filer (vilket oftast är fallet) och liknande, försvinner fördelarna.
Du kan få Caddy på Kamatera VM från så lite som $4 per månad.
Lighttpd
En av de punkter där de flesta moderna webbservrar misslyckas är resursanvändningen. Lighttpd skapades för att övervinna dessa utmaningar i miljöer med begränsat minne och CPU.
Lighttpd bygger på en asynkron förfrågningshanteringsmodell, vilket liknar hur Nginx fungerar. Men det finns en hake – Lighttpd arbetar i en enda tråd, så om du har en kraftfullare dator kommer den inte att använda andra CPU-kärnor. Den saknar också de mer avancerade funktionerna i Nginx, som SSL-proxy, HTTP/2 och liknande.
Är Lighttpd rätt val för dig?
Lighttpd är en kapabel, enkeltrådig webbserver som utan problem kan hantera hundratals förfrågningar per sekund och ändå vara skonsam mot systemresurser. Utöver det har den inte mycket att erbjuda jämfört med alternativen. Så om du inte behöver alla de avancerade funktionerna – och om du har begränsade datorresurser – är Lighttpd värd att undersöka.
MonkeyServer
Trots sitt ovanliga namn är Monkey webbserver ett intressant projekt som fortfarande är under aktiv utveckling.
Huvudattraktionen med MonkeyServer är stödet för inbäddade plattformar. Du måste kompilera servern själv, men du kan skala bort alla onödiga funktioner och få en lätt och snabb webbserver.
- Den riktar sig främst till Linux, men stöds även på macOS.
- Fullt stöd för ARM-baserade processorer.
- Fungerar utmärkt på Android, Raspberry Pi och andra inbäddade plattformar.
- Minimal körning (100 kB utan plugins).
- Stöd för IPv6 och TLS.
- Fungerar med CGI och FastCGI.
- Grundläggande autentisering, säkerhetsregler och liknande.
Är MonkeyServer rätt val för dig?
Om du vill använda inbäddade enheter är MonkeyServer ett bra val. Den fungerar lika bra på x86- och x86-64-arkitekturer och kan användas för att driva storskaliga applikationer på kraftfulla datorer. Den har ett mer aktivt community än andra alternativa webbservrar, vilket gör att du inte kommer att ha svårt att få hjälp om det behövs.
OpenLiteSpeed
OpenLiteSpeed är den öppna källkodsversionen av företagswebbservern som erbjuds av LiteSpeed Technologies.
Det finns flera anledningar att gilla OpenLiteSpeed:
- Kompatibel med Apaches mod_rewrite, vilket innebär att migrering blir smidig om du har många befintliga Apache-filer.
- Händelsedriven arkitektur i stil med Nginx, vilket ger hög genomströmning.
- GUI-baserat administrationsgränssnitt som ger en trevlig konfigurationsupplevelse.
- Native SAPI för PHP, vilket resulterar i högre prestanda.
- Caching och Google PageSpeed Insights-optimeringar tillämpas som standard.
Är OpenLiteSpeed rätt val för dig?
OpenLiteSpeed är ett bra val för WordPress-baserade webbplatser eftersom sidoptimeringar redan är inbyggda i servern. PHP-baserade kodbaser och projekt kan dra stor nytta av dess optimering för PHP-prestanda.
Cherokee
Projektet Cherokee började som ett personligt initiativ av en utvecklare och har växt till en anständig webbserverplattform. Även om den inte har avancerade funktioner som Nginx, ger den ett enkelt, roligt och prestandainriktat alternativ till de vanliga webbservrarna.
Den största fördelen med Cherokee är dess enkelhet – du behöver inte använda kommandoraden för att konfigurera servern. Ett lättanvänt webbaserat gränssnitt ingår och är ett nöje att använda för de som föredrar peka-och-klicka-metoden.
Källa: Linode
Även om Cherokee inte är under aktiv utveckling, är det ett bra alternativ för de flesta vanliga projekt. Prova det!
Sammanfattning
Livet skulle sakna mening utan webbservrar och som tur är finns det många att välja mellan. Vilken är din favoritwebbserver med öppen källkod? Om du tycker att jag har missat någon viktig webbserver, vänligen meddela mig i kommentarerna så lägger jag gärna till den! 🙂