Verden av webservere har utviklet seg enormt siden den første serveren så dagens lys. I dag finnes det et mangfold av spennende alternativer å velge mellom.
Forskjellige prosjekter stiller ulike krav, men markedet for åpen kildekode-webservere var lenge preget av et slags monopol. I en lang periode var Apache det dominerende valget, og håndtering av stor trafikk var ofte en utfordring. Heldigvis har det skjedd store endringer, og det har dukket opp nye løsninger som er tilpasset spesifikke behov.
La oss derfor se nærmere på noen av de beste og mest populære åpen kildekode-webserverne som er tilgjengelige i dag.
Apache
Apache er nesten synonymt med selve World Wide Web, og driver fortsatt en betydelig andel av alle nettsteder globalt.
Apaches suksess kan forklares med tre hovedfaktorer: en åpen lisens, tidlig tilstedeværelse (denne serveren ble lansert så tidlig som i 1995!), og enkel implementering av PHP. Sistnevnte ble muliggjort gjennom mod_php-modulen, som gjorde det mulig å utvikle med PHP rett etter installasjon av Apache.
Dette gjør Apache til et godt valg:
- Tilgjengelig på alle de største plattformene som Linux, Windows og MacOS.
- Standardserver for CPanel delt hosting, noe som forenkler oppsett og endring av nettsteder.
- Enorm funksjonalitet via en stor samling av moduler. Uansett behov finnes det sannsynligvis en modul for Apache.
- Mulighet for konfigurering per katalog ved hjelp av .htaccess-filer.
- Støtte for HTTP/2, komprimering, statiske filer og lastbalansering.
- MPM- og FastCGI-moduser for å håndtere mange samtidige brukere.
- Enkel skripting via Lua.
Er Apache det rette valget for deg?
Kort sagt, ja. Det var en periode hvor Nginx (som vi skal se på senere) vant terreng på grunn av sin høye ytelse, men Apache hentet seg inn etter 2.2-utgaven. Det skal likevel nevnes at Nginx fikk mye oppmerksomhet som en ny løsning, noe som har ført til noe (ubegrunnet) kritikk av Apaches evner.
Nginx
Hvis du liker å holde deg oppdatert på de nyeste teknologiske trendene, har du sannsynligvis hørt om Nginx (uttales «engine-x», derav navnet). Denne serveren ble utviklet som et prosjekt i 2002 av en russisk ingeniør som var frustrert over at eksisterende løsninger ikke klarte å håndtere C10k-problemet (dvs. håndtere tusenvis av samtidige tilkoblinger).
Nginx skapte stor oppsikt da den kom på markedet, og mange byttet fra Apache uten å se seg tilbake. Denne trenden fortsetter i dag. Selv om Apache nå er konkurransedyktig, tilbød Nginx noen vesentlige forbedringer som bidro til dens popularitet.
- Asynkron arkitektur for å håndtere høy belastning.
- Overlegen håndtering av statiske filer, lastbalansering og reverse proxy-funksjoner.
- FastCGI-bufring.
- Støtte for uwsgi, SCGI og andre serverprotokoller, med bufring.
- Gzipping, bildekonvertering, byteområder, chunked responser, med FLV- og MKV-streaming.
- WebSockets, keepalive og rørledningsforbindelser.
- Tilgangskontroll, feilomdirigering osv.
Samlet sett er Nginx en kraftfull server med mange funksjoner som holder den i forkant. Selskapet bak serveren er en bærekraftig virksomhet, noe som gir mulighet for betalt støtte og rådgivning for komplekse prosjekter.
Er Nginx det rette valget for deg?
Hvis du liker å skreddersy dine egne webapplikasjoner, er Nginx et svært godt alternativ. Du kan designe kompliserte og distribuerte systemer med effektiv bufring, proxying og lastbalansering, samtidig som du kan bruke Nginx til å levere statiske filer med ulike optimaliseringer. Nginx støtter også HTTP/2.
Interessert i å lære mer om Nginx? Her er et grunnkurs.
Caddy
Et av de nyeste og mest spennende prosjektene i åpen kildekode-miljøet er Caddy.
Caddy kan beskrives som en webserver i stil med Nginx (med lignende syntaks), men med fokus på enkelhet. For eksempel kan integrasjon med Let’s Encrypt for SSL gjøres med bare tre linjer med konfigurasjon.
Dette er noen av grunnene til at Caddy får mye oppmerksomhet:
- HTTPS aktivert som standard. Du trenger ikke å gjøre noe for å installere eller fornye SSL-sertifikater.
- HTTP/2 prioriteres.
- Roterer TLS-øktbillettnøkler som standard, noe som gir sikrere TLS-tilkoblingsadministrasjon.
- Ingen eksterne avhengigheter (basert på Golang, som kompileres til en enkelt binærfil uten avhengighet av systembiblioteker).
- Serverer statiske filer i gjeldende katalog som standard.
- Kan bygges inn som et bibliotek i andre applikasjoner.
Er Caddy det rette valget for deg?
Hvis du ønsker enkelhet og synes at konfigureringen av servere som Apache og Nginx er komplisert, vil Caddy føles som en befrielse. Den fungerer best dersom du er fornøyd med standardinnstillingene. Hvis du for eksempel vil bruke en annen SSL-leverandør eller ha en egen mappe for statiske filer, vil fordelene reduseres.
Du kan få Caddy på Kamatera VM fra så lite som $4 per måned.
Lighthttpd
De fleste moderne webservere sliter med ressursbruk. Lighthttpd ble utviklet for å overvinne disse utfordringene i miljøer med begrenset minne og prosessorkraft.
Lighthttpd er bygget på en asynkron modell for forespørselshåndtering, som ligner på hvordan Nginx fungerer. Det er imidlertid en viktig forskjell – Lighthttpd opererer på en enkelt tråd, noe som betyr at den ikke vil utnytte maskiner med flere CPU-kjerner. Den mangler også avanserte funksjoner som SSL-proxy og HTTP/2.
Er Lighthttpd det rette valget for deg?
Lighthttpd er en enkel, men kompetent webserver med én tråd som enkelt kan håndtere noen hundre forespørsler per sekund med lavt ressursbruk. Sammenlignet med alternativene har den imidlertid ikke så mange andre fordeler. Hvis du ikke har behov for avanserte funksjoner og trenger å spare på maskinressursene, kan Lighthttpd være verdt å vurdere.
MonkeyServer
Til tross for det litt spesielle navnet, er Monkey en interessant webserver som fortsatt er under aktiv utvikling og vedlikehold.
Hovedattraksjonen med MonkeyServer er støtten for innebygde systemer. Serveren må kompileres selv, men dette gjør det mulig å fjerne unødvendige funksjoner og ende opp med en lett og rask webserver.
- Hovedsakelig rettet mot Linux, men også støtte for MacOS.
- Full støtte for ARM-baserte prosessorer.
- Fungerer utmerket på Android, Raspberry Pi og andre innebygde plattformer.
- Minimal størrelse (100 KB uten plugins).
- Støtter IPv6 og TLS.
- Fungerer med CGI og FastCGI.
- Grunnleggende autentisering, sikkerhetsregler osv.
Er MonkeyServer det rette valget for deg?
Hvis du jobber med innebygde enheter, er MonkeyServer et godt alternativ. Den fungerer også bra på x86- og x86-64-arkitekturer og kan brukes til å kjøre større applikasjoner på kraftige maskiner. Den har et aktivt og engasjert fellesskap, slik at du kan få hjelp dersom du trenger det.
OpenLiteSpeed
OpenLiteSpeed er en åpen kildekode-versjon av den kommersielle webserveren fra LiteSpeed Technologies.
Det er mange grunner til å like OpenLiteSpeed:
- Kompatibel med Apaches mod_rewrite, noe som forenkler migrering fra Apache-konfigurasjoner.
- Hendelsesdrevet arkitektur i likhet med Nginx, som gir høy ytelse.
- GUI-basert administrasjonsgrensesnitt som forenkler konfigureringen.
- Native SAPI for PHP, noe som gir økt ytelse.
- Bufring og Google PageSpeedInsights-optimaliseringer er aktivert som standard.
Er OpenLiteSpeed det rette valget for deg?
OpenLiteSpeed er spesielt godt egnet for innholdsdrevne nettsteder basert på WordPress, da sideoptimalisering er innebygd i serveren. Den er finjustert for PHP-ytelse, noe som gjør den til et godt valg for PHP-baserte prosjekter.
Cherokee
Cherokee startet som et personlig utviklerprosjekt, men har utviklet seg til en solid webserverplattform. Selv om den ikke har like mange avanserte funksjoner som Nginx, er den et enkelt, brukervennlig og ytelsesrettet alternativ til de mer vanlige webserverne.
Den største fordelen med Cherokee er enkelheten – du slipper å bruke kommandolinjen for å konfigurere serveren. Et brukervennlig nettbasert grensesnitt gjør det enkelt å konfigurere serveren.
Kilde: Linode
Selv om Cherokee ikke utvikles like aktivt som før, er den fortsatt et godt valg for de fleste dagligdagse prosjekter. Ta en titt!
Konklusjon
Livet ville ikke vært det samme uten webservere, og heldigvis har vi nå mange å velge mellom. Hvilken er din favoritt åpen kildekode-webserver? Hvis du mener at jeg har utelatt en viktig server fra listen, gi meg beskjed i kommentarfeltet, så legger jeg den gjerne til! 🙂