Downloads

De 10 bedste open source webservere til Linux

De 10 bedste open source webservere til Linux

Du læser denne artikel fra et websted, der drives af en open source-webserver, simpelthen fordi open source-webservere driver over 80% af websteder og applikationer. Udtrykket webserver kan bruges omskifteligt til at henvise til den hardware eller software, der bruges til at betjene indhold til slutbrugere eller klienter via HTTP.

Webservere har været under udvikling og konstant forbedring siden begyndelsen af ​​90'erne. Der findes forskellige typer webservere, og de kan bygges til specifikke behov, til bestemte teknologier eller som specielle muligheder for visse virksomheder.

Denne artikel viser nogle af de pålidelige og populære open source-webserverprojekter, der er tilgængelige for dig til at installere og få din applikation eller dit websted til at køre.

Open Source webservere til Linux

En webserver kan henvise til hele hardware- og softwaresystemet eller specifikt til den software, der accepterer og serverer HTTP-anmodninger fra klienter.

Som software styrer og administrerer en webserver, hvordan hostede filer serveres til klienter. Det kan være en HTTP-server, der forstår URL'er og HTTP- eller HTTP / 2-protokollerne.

Som hardware er en webserver en computer, der er vært for webserver-softwaren og webstedets komponentfiler som HTML-sider, CSS-stilark, billeder eller JavaScript-filer.

Når en bruger som dig selv har brug for en fil eller information, der hostes på en webserver, bruger du en webbrowser til at stille anmodningen. Anmodningen sendes til den relevante webserver (hardware), hvor HTTP-serveren accepterer anmodningen, finder den relevante fil og sender den tilbage til klientbrowseren via HTTP.

En statisk webserver sender hostede filer som de er til din browser.
En dynamisk webserver indeholder en database og en applikationsserver, der opdaterer de hostede filer, før de sendes til din browser via HTTP.

1: Apache HTTP-webserver

Oprindeligt udgivet i 1995 og er den mest populære webserver. I henhold til brugsstatistikker for webservere fra w3tech.com, Apache styrker omkring 33.9% af webapplikationer og websteder på World Wide Web. Det frigives under Apache License version 2, som kræver bevarelse af copyright-meddelelser og ansvarsfraskrivelser, men kræver ikke, at ændrede versioner distribueres ved hjælp af den samme licens. Den kører i alle populære operativsystemer som Linux, Unix-lignende, Windows, Mac OS X, FreeBSD, Solaris, Novell Netware, OS / 2 osv.

Apache HTTP er skrevet på C-sprog og bruger en modulær arkitektur, der er meget tilpasselig, og den kan indlæse ekstra moduler for at udvide dens funktioner. Disse inkluderer mod_proxy, som giver mulighed for en proxy / gateway på din server, mod_proxy_balancer muliggør belastningsafbalancering for alle understøttede protokoller. mod_file_cache til cache, mod_ftp til FTP-understøttelse til uploads og downloads eller mod_ssl til SSL / TLS-krypteringsprotokolunderstøttelse.
Andre bemærkelsesværdige moduler inkluderer proxy-modulet (mod_proxy), mod_rewrite (URL-omskrivningsmodul), mod_include og mod_ext_filter.

Apache har også en populær komprimeringsmetode, der er inkluderet i det eksterne udvidelsesmodul, mod_gzip. Det er bygget til at hjælpe med at reducere størrelsen på websider, der serveres via HTTP. De brugerdefinerede logfiler (mod_log_config) administrerer logfiler, der kan analyseres via en webbrowser. Det har ModSecurity til at styre detektion og forebyggelse af indbrud til webapplikationer.

Ønskelige funktioner

Fra version 2.4, Apache understøtter HTTP / 2 gennem mod_http / 2, hvilket forbedrer ydeevnen. Apache blev betragtet som lidt langsommere end Nginx (asynkron, hændelsesdrevet webserver), hvilket førte til den øgede vedtagelse af Nginx, men brugerne har været vidne til forbedret ydeevne siden Apache 2.2.

2: Apache Tomcat-webserver

Apache Tomcat er en populær webserver, der findes på markedet. Den er bygget til at være vært for webbaserede Java-løsninger, hvis anvendelse er relativt hyppig og rigelig i store organisationer på grund af høj skalerbarhed, ydeevne og antallet af tilgængelige værktøjer til Java-økosystemet. Apache Tomcat er en modnet webserver, hvis oprettelse krediteres James Duncan Davidson fra Apache-stiftelsen. Tomcat har været under udvikling i over 20 år siden af ​​Apache software foundation som Apache webserver.

Tomcat er en Java-servlet, der leveres med udvidet funktionalitet til interaktion med Java-servlets, og den implementerer tekniske specifikationer såsom JavaServer Pages (JSP) og Java Expression Language (Java EL).

Tomcat er lavet af flere komponenter som Coyote, Catalina, Jasper, Cluster osv. Catalina er servletbeholderen, mens Coyote er den stikkomponent, der understøtter HTTP 1.1. som webserveren. Det giver Catalina (Java-servlet eller JSP-container) mulighed for at fungere som en webserver, der serverer lokale filer som HTTP-dokumenter. Jasper er Tomcats JSP-motor, og den analyserer JSP-filer for at kompilere dem til Java-kode som servlets. Cluster-komponenten administrerer store applikationer gennem belastningsbalancering og andre teknikker.

Du kan køre Apache Tomcat sammen med Apache HTTP for at lette projekter med både Java og PHP. Tomcat understøtter også AWS (Amazon Web Services), hvilket gør den ideel til skybaserede løsninger. Eclipse IDE understøtter Tomcat, hvilket gør det nemt for udviklere at oprette og implementere applikationer.

Ønskelige funktioner

Apache Tomcat webserver er en bedre mulighed for Java webbaserede applikationer. Apache Tomcat er ofte opført blandt andre open source Java-applikationsservere som JBoss, Wildfly og Glassfish.

3: Nginx webserver

Nginx læser 'Engine-x' er en open source, højtydende og robust webserver. Det kan implementeres som en load balancer, reverse proxy, IMAP / POP3 proxyserver og API gateway. Igor Sysoev udviklede det i 2002 som et svar på C10K-problemet. C10k-problemet er et problem med at optimere netværksstik og webservere til at håndtere ti tusind samtidige forbindelser og klienter. Nginx er vokset i popularitet og kører cirka 33.7% af alle websteder.

Nginx er afhængig af en asynkron hændelsesdrevet arkitektur til at håndtere et stort antal samtidige sessioner. Det er blevet populært blandt administratorer på grund af dets lave ressourceudnyttelse, høje samtidighed og skalerbarhed. Det er ideelt til hosting af websteder med høj trafik, og det kan håndtere op til 500.000 anmodninger pr. Sekund med lav CPU-udnyttelse.

Nginx kan bruges som en enkeltstående webserver eller som en statisk indholdsserver foran en anden webserver. Desuden kan du implementere Nginx til at servere dynamisk HTTP-indhold på netværket ved hjælp af SCGI-handlere til scripts, FastCGI, WSGI-applikationsservere eller Phusion Passenger-moduler.

Ønskelige funktioner

Nginx har to etablerede versioner, OSS Nginx og Nginx Plus. Nginx Plus tilbyder yderligere funktioner såsom aktive sundhedstjek, sessioners vedholdenhed, DNS-service-discovery-integration, Datalog, Dynatrace New Relic-plugins, en cache-udrensnings-API, AppDynamic, Active-Active HA med konfigurationssynkronisering. Nginx Plus API understøtter nøgleværdibutikker.

Nginx blev designet til at konkurrere med Apache-serveren om at servere statiske filer, bruge mindre hukommelse og finde svar på c10k-problemet. Vi kan med sikkerhed sige, at det slår Apache hænder ned i denne kategori. Derfor er det blevet implementeret af populære websteder med høj trafik som Facebook, LinkedIn og Twitter. Lær mere om projektet fra den officielle Nginx-hjemmeside.

4: Knude.js Webserver

Node.js er et runtime-miljø på serversiden, der bruges til at opbygge webapplikationer i Javascript. Det er pakket med et HTTP-modul for at udvide dets funktionalitet som en webserver. Node.js blev oprindeligt skrevet i 2009 af Ryan Dahl og har i øjeblikket beføjelse til 1.2% af alle websteder.

Node.js implementerer en hændelsesdrevet arkitektur, der er i stand til asynkron I / O. Det optimerer kapacitet og skalerbarhed, og du kan effektivt implementere realtidskommunikation i webapplikationer. En nøgleforskel mellem node.js og andre webservere er, at det er en del af en webudviklingsstak lavet af CSS, HTML og JavaScript-stak.
Noden.js-projektet styres af Node.js Foundation og er tilgængelig under en blanding af licenser. Find ud af mere fra Node.js projekts websted.

5: Caddy Webserver

Caddy er en hurtig og kraftfuld multiplatform-webserver, reverse proxy, API-gateway og load balancer. Caddy-projektet blev designet af Mathew Holt og skrevet på Go-sproget. Det er en ny ramme og får stærkt efterfølgelse og opmærksomhed i open source-rammen som et alternativ til Apache Web Server.

Caddy er bygget uden afhængigheder, hvilket gør den bærbar og nem at installere og bruge på tværs af forskellige distributioner. Caddy understøtter funktioner som IPv6, Markdown, WebSockets, FastCGI, skabeloner osv. Caddy aktiverer HTTPS som standard for websteder med kvalificerede domænenavne og omdirigerer HTTP-anmodninger til HTTPS. Det får certifikater under opstart og fortsætter med at forny dem i serverens levetid.

Interessant nok har den en 'on-demand TLS' -funktion, som tilbyder en alternativ konfigurationsmetode, der gør det muligt for Caddy kun at få certifikater efter behov under TLS-håndtryk. Den er tilgængelig i alle større distributioner som MAC, Windows, Android, Linux, BSD og Solaris.

Ønskelige funktioner

Caddy er en god kandidat til brugeren, der søger enkelhed og er glad for at arbejde med standardkonfigurationer. Det er en ideel webserver til at køre applikationer skrevet i GO. Ifølge w3tech giver den i øjeblikket magt til 0.1% af alle websteder.

6: Eclipse Jetty Webserver

Eclipse Jetty er designet og bygget som en HTTP-server, HTTP-klient og javax-servletcontainer til at servere statisk og dynamisk indhold som en enkeltstående eller indlejret forekomst. Jetty-webserveren og andre kernekomponenter hostes og vedligeholdes af Eclipse Foundation.
Jetty er en let og meget skalerbar webserver og servletmotor. Jetty er en fuldt asynkroniseret webserver, der er komponentorienteret og let kan integreres i andre applikationer. Det understøtter webprotokoller som HTTP, HTTP / 2 og WebSocket. Disse teknologier implementerer en høj volumen, lav latens, maksimal ydeevne arkitektur med bevarelse af sin enkelhed og kompatibilitet. Det kan opnå fremragende resultater med titusinder af samtidige HTTP-forbindelser og WebSocket-forbindelser.

Jetty har et lille fodaftryk, der gør det muligt for webudviklere at implementere og konfigurere Jetty effektivt i ethvert miljø uden at bekymre sig om det uønskede overhead- eller hukommelsesforbrug. Med et lille hukommelsesaftryk kan du køre flere serverforekomster på virtuel hardware, hvilket gør det til en god mulighed i skyinstallationer og infrastruktur.

Ønskelige funktioner

Eclipse har fundet vedtagelse i mange projekter som Apache ActiveMQ, Google App Engine, Alfresco, Apache Geronimo, Apache Maven, Apache Spark, Eclipse og Twitters Streaming API. Find ud af mere her.

7: Lighttpd Webserver

Lighttpd eller Lighty er en gratis og open source-webserver bygget til hastighedskritiske applikationer. Det er sikkert, hurtigt, fleksibelt og har et minimalt fodaftryk på mindre end 1 MB. Dens lille fodaftryk gør det meget økonomisk med serverens ressourcer og CPU-udnyttelse. Lighttpd distribueres under BSD-licensen og foretrækkes for sin enkelhed, ydeevne og supportmoduler.

Lighttpd er bygget på en asynkron model for anmodningshåndtering, som er afgørende for håndtering og styring af et stort antal parallelle forbindelser, hvilket gør det til en ideel mulighed til højtydende webapplikationer. Nogle siger måske, at det spejler arkitekturen i Nginx. Det understøtter FastCGI, CGI og SCGI til grænseflade mellem din webserver og andre programmer. Det understøtter også applikationer skrevet på andre sprog som Python, Perl, PHP og Ruby, som er populære udviklingssprog blandt udviklere.

Andre avancerede funktioner i Lighty inkluderer; Auth, URL-omskrivning, understøttelse af SSL / TLS, virtuel hosting og HTTP-outputkomprimering gennem mod_compress-modulet.

Ønskelige funktioner

Lighttpd er en enkelt-trådet webserver, der let kan håndtere et par hundrede anmodninger i sekundet og er en god mulighed for brugere, der står over for udfordringer i miljøer med lav hukommelse og lav CPU. Lighty kører indbygget på Linux / Unix-systemer, men du kan også køre det på Microsoft Windows-platformen. Se mere om brugsstatistik, licens og support på Lighttpd-hjemmesiden.

8: OpenLiteSpeed ​​webserver

OpenLiteSpeed ​​er et open source-alternativ til LiteSpeed ​​Enterprise-webserverudgaven. Det er bygget til enkelhed, sikkerhed, optimering og leveres med alle de væsentlige funktioner i Enterprise-udgaven.

OpenLiteSpeed ​​er designet på en begivenhedsdrevet, ressourceoptimeret arkitektur. Den leveres med en intuitiv GUI til WebAdmin til at styre websteder og overvåge forskellige sæt server-metrics. OpenLiteSpeed ​​er optimeret til at udføre scripts designet på en bred vifte af sprog som Perl, Python, Ruby og Java. Det understøtter IPv6 og SSL / TLS.

Ønskelige funktioner

OpenLiteSpeed ​​er alsidig, og du kan konfigurere det som en load balancer eller reverse proxy. OpenLiteSpeed ​​er gratis at downloade og er tilgængelig under GPLv3-licensen. Det er en god mulighed for WordPress-baserede indholdswebsteder.

9: H2O-webserver

H2O er en ny generation af open source HTTP-server. Det kan prale af hurtigere responstider med mindre CPU-udnyttelse sammenlignet med ældre generations webservere. H2O er designet og bygget fra bunden til at skabe komplette HTTP / 2-implementeringer.

Brugere af H2O kan drage fordel af nye HTTP / 2-funktioner såsom latensoptimering, server-push, prioriteret indholdsservering og server-push. Disse funktioner kan drage fordel af moderne browserfunktionalitet.

Ønskelige funktioner

H20 er skrevet på C-programmeringssproget og kan også bruges som et bibliotek. H2O er tilgængelig under MIT-licensen. Få mere at vide om H2O-brugsstatistikker.

10: Cherokee webserver

Cherokee er en let, hurtig, fleksibel og performant open-source, platform på tværs af platforme. Det blev udviklet som et personligt udviklingsprojekt, men er vokset til en anstændig webserver, der kører på Linux, BSD, Solaris, MAC og Windows.

Cherokee opretter vores liste på grund af sin enkelhed. Den leveres med en venlig webbaseret grænseflade, og du behøver ikke beherske mange kommandolinjekonfigurationer for at få den til at køre og fungere.
Det understøtter teknologier som FastCGI, CGI, SSI, SCGI, PHP, TLS og SSL-krypterede forbindelser, VirtualHosts, load balancing og Apache-kompatible logfiler.

Cherokee kan håndtere samtidige forbindelser på lav hukommelse og forbedrer hardwareydelsen. Den har en modulær arkitektur, der kan ændres og udvides gennem en administrationsguide til at udføre specifikke opgaver, udvide applikationer og køre rammer.

Ønskelige funktioner

På trods af at den ikke er aktivt udviklet, er den en god webserver til enkle projekter. Det understøtter PHP, Django, Ruby on Rails, ColdFusion, Alfresco, Symfony, GNU Mailman, .NET med Mono, rTorrent og Zend Engine, som giver dig mange alternativer til at opbygge dit projekt.

Lær ved at prøve

Hvis du kommer i gang med webservere, skal du prøve LEMP (Linux, Nginx, MySQL, PHP) eller LAMP (Linux, Apache, MySQL, PHP) stakke. Du kan nemt installere disse stakke ved hjælp af enkle installationsprogrammer og er også tilgængelige i din Linux-pakkehåndtering. Det giver dig en bred praktisk erfaring med, hvordan webservere fungerer.

Jeg har medtaget nogle populære webservere (Apache, Nginx), nyere (H2O, Node.js) og kiggede på Jetty-webserveren understøttet af Java-teknologier. Listen er på ingen måde omfattende, og med mere forskning kan du opdage andre webserverteknologier, du kan prøve eller bruge til dit projekt.

Sådan downloades og afspilles Sid Meiers Civilization VI på Linux
Introduktion til spillet Civilization 6 er et moderne udtryk for det klassiske koncept, der blev introduceret i serien af ​​Age of Empires-spil. Ideen...
Sådan installeres og afspilles Doom på Linux
Introduktion til undergang Doom-serien opstod i 90'erne efter frigivelsen af ​​den originale Doom. Det var et øjeblikkeligt hit, og fra den tid af har...
Vulkan til Linux-brugere
Med hver nye generation af grafikkort ser vi spiludviklere skubbe grænserne for grafisk troskab og komme et skridt tættere på fotorealisme. Men på tro...