Nedladdningar

De 10 bästa öppna källkodsservrarna för Linux

De 10 bästa öppna källkodsservrarna för Linux

Du läser den här artikeln från en webbplats som drivs av en öppen källkodsserver bara för att öppen källkodswebbservrar driver över 80% av webbplatser och applikationer. Termen webbserver kan användas omväxlande för att hänvisa till hårdvaran eller programvaran som används för att betjäna innehåll till slutanvändare eller klienter via HTTP.

Webbservrar har utvecklats och ständigt förbättrats sedan början av 90-talet. Det finns olika typer av webbservrar, och de kan byggas för specifika behov, för vissa tekniker eller som speciella alternativ för vissa företag.

I den här artikeln listas några av de pålitliga och populära open source-webbserverprojekten som är tillgängliga för dig att installera och få din applikation eller webbplats igång.

Öppna källkodsservrar för Linux

En webbserver kan referera till hela hårdvaru- och mjukvarusystemet eller specifikt till programvaran som accepterar och serverar HTTP-förfrågningar från klienter.

Som programvara kontrollerar och hanterar en webbserver hur värdfiler serveras till klienter. Det kan vara en HTTP-server som förstår webbadresser och HTTP- eller HTTP / 2-protokollet.

Som maskinvara är en webbserver en dator som är värd för webbserverprogramvaran och webbplatskomponentfilerna som HTML-sidor, CSS-formatmallar, bilder eller JavaScript-filer.

När en användare, som du själv, behöver en fil eller information som finns på en webbserver, använder du en webbläsare för att göra en begäran. Förfrågan skickas till relevant webbserver (hårdvara), där HTTP-servern accepterar begäran, hittar rätt fil och skickar den tillbaka till klientens webbläsare via HTTP.

En statisk webbserver skickar värdfiler som de är till din webbläsare.
En dynamisk webbserver innehåller en databas och en applikationsserver som uppdaterar de värdade filerna innan de skickas till din webbläsare via HTTP.

1: Apache HTTP-webbserver

Ursprungligen släpptes 1995 och är den mest populära webbservern. Enligt användningsstatistik för webbservrar från w3tech.com, Apache driver runt 33.9% av webbapplikationer och webbplatser på Internet. Det släpps under Apache-licensversion 2, vilket kräver att copyrightmeddelanden och ansvarsfriskrivningar bevaras, men att modifierade versioner inte behöver distribueras med samma licens. Den körs i alla populära operativsystem som Linux, Unix-liknande, Windows, Mac OS X, FreeBSD, Solaris, Novell Netware, OS / 2, etc.

Apache HTTP är skrivet på C-språk och använder en modulär arkitektur som är mycket anpassningsbar, och den kan ladda extra moduler för att utöka dess funktioner. Dessa inkluderar mod_proxy, vilket möjliggör en proxy / gateway på din server, mod_proxy_balancer möjliggör belastningsbalansering för alla protokoll som stöds. mod_file_cache för cachning, mod_ftp för FTP-stöd för uppladdningar och nedladdningar eller mod_ssl för SSL / TLS-krypteringsprotokollsstöd.
Andra anmärkningsvärda moduler inkluderar proxymodulen (mod_proxy), mod_rewrite (URL-omskrivningsmodul), mod_include och mod_ext_filter.

Apache har också en populär komprimeringsmetod som ingår i den externa tilläggsmodulen mod_gzip. Den har byggts för att hjälpa till att minska storleken på webbsidor som serveras via HTTP. De anpassade loggfilerna (mod_log_config) hanterar loggfiler som kan analyseras via en webbläsare. Den har ModSecurity för att hantera intrångsdetektering och förebyggande för webbapplikationer.

Önskvärda funktioner

Från och med version 2.4, Apache stöder HTTP / 2 via mod_http / 2, vilket förbättrar prestanda. Apache ansågs vara något långsammare än Nginx (asynkron, händelsestyrd webbserver), vilket ledde till ökad användning av Nginx, men användare har sett förbättrad prestanda sedan Apache 2.2.

2: Apache Tomcat webbserver

Apache Tomcat är en populär webbserver på företagsnivå som finns på marknaden. Den är byggd för att vara värd för webbaserade Java-lösningar vars användning är relativt frekvent och riklig i stora organisationer på grund av hög skalbarhet, prestanda och antalet tillgängliga verktyg för Java-ekosystemet. Apache Tomcat är en mognad webbserver vars skapelse krediteras James Duncan Davidson från Apache-stiftelsen. Tomcat har utvecklats för över 20 år sedan av Apache software foundation som Apache webserver.

Tomcat är en Java-servlet som levereras med utökad funktionalitet för interaktion med Java-servlets, och den implementerar tekniska specifikationer som JavaServer Pages (JSP) och Java Expression Language (Java EL).

Tomcat är tillverkad av flera komponenter som Coyote, Catalina, Jasper, Cluster, etc. Catalina är servletbehållaren, medan Coyote är anslutningskomponenten som stöder HTTP 1.1. som webbservern. Det gör att Catalina (Java-servlet eller JSP-behållare) kan fungera som en webbserver som serverar lokala filer som HTTP-dokument. Jasper är Tomcats JSP-motor, och den analyserar JSP-filer för att kompilera dem till Java-kod som servlets. Cluster-komponenten hanterar stora applikationer genom lastbalansering och andra tekniker.

Du kan köra Apache Tomcat tillsammans med Apache HTTP för att underlätta projekt med både Java och PHP. Tomcat stöder också AWS (Amazon Web Services), vilket gör den idealisk för molnbaserade lösningar. Eclipse IDE stöder Tomcat, vilket gör det enkelt för utvecklare att skapa och distribuera applikationer.

Önskvärda funktioner

Apache Tomcat webbserver är ett bättre alternativ för Java webbaserade applikationer. Apache Tomcat listas ofta bland andra Java-applikationsservrar med öppen källkod som JBoss, Wildfly och Glassfish.

3: Nginx webbserver

Nginx läser 'Engine-x' är en öppen källkod, högpresterande och robust webbserver. Den kan distribueras som en belastningsutjämnare, omvänd proxy, IMAP / POP3 proxyserver och API-gateway. Igor Sysoev utvecklade det 2002 som ett svar på C10K-problemet. C10k-problemet är ett problem med att optimera nätverksuttag och webbservrar för att hantera tiotusen samtidiga anslutningar och klienter. Nginx har ökat i popularitet med cirka 33.7% av alla webbplatser.

Nginx förlitar sig på en asynkron händelsestyrd arkitektur för att hantera ett stort antal samtidiga sessioner. Det har blivit populärt bland administratörer på grund av dess låga resursutnyttjande, höga samtidighet och skalbarhet. Det är perfekt för webbhotell med högtrafik och kan hantera upp till 500 000 förfrågningar per sekund med lågt CPU-utnyttjande.

Nginx kan användas som en fristående webbserver eller som en statisk innehållsserver framför en annan webbserver. Dessutom kan du distribuera Nginx för att servera dynamiskt HTTP-innehåll i nätverket med SCGI-hanterare för skript, FastCGI, WSGI-applikationsservrar eller Phusion Passenger-moduler.

Önskvärda funktioner

Nginx har två etablerade versioner, OSS Nginx och Nginx Plus. Nginx Plus erbjuder ytterligare funktioner som aktiva hälsokontroller, sessioners uthållighet, DNS-service-discovery-integration, Datalog, Dynatrace New Relic-plugins, ett cache-rensnings-API, AppDynamic, Active-Active HA med konfigurationssynkronisering. Nginx Plus API stöder viktiga butiker.

Nginx utformades för att konkurrera med Apache-servern för att servera statiska filer, använda mindre minne och hitta svar på c10k-problemet. Vi kan med säkerhet säga att det slår Apache utan tvekan i den här kategorin. Det är därför det har distribuerats av populära högtrafikwebbplatser som Facebook, LinkedIn och Twitter. Läs mer om projektet från den officiella Nginx-hemsidan.

4: Nod.js webbserver

Nod.js är en runtime-miljö på serversidan som används för att bygga webbapplikationer i Javascript. Den levereras med en HTTP-modul för att utöka dess funktionalitet som en webbserver. Nod.js skrevs ursprungligen 2009 av Ryan Dahl och har för närvarande 1.2% av alla webbplatser.

Nod.js implementerar en händelsestyrd arkitektur med asynkron I / O. Det optimerar genomströmning och skalbarhet, och du kan effektivt implementera realtidskommunikation i webbapplikationer. En viktig skillnad mellan noden.js och andra webbservrar är att den är en del av en webbutvecklingsstack gjord av CSS-, HTML- och JavaScript-stack.
Noden.js-projektet styrs av Node.js Foundation och är tillgänglig under en blandning av licenser. Ta reda på mer från noden.js projekts webbplats.

5: Caddy webbserver

Caddy är en snabb och kraftfull multiplatformswebbserver, omvänd proxy, API-gateway och belastningsutjämnare. Caddy-projektet designades av Mathew Holt och skrevs på Go-språket. Det är ett nytt ramverk och får starkt uppmärksamhet i öppen källkodsram som ett alternativ till Apache Web Server.

Caddy är byggd utan beroenden, vilket gör den bärbar och enkel att installera och använda i olika distributioner. Caddy stöder funktioner som IPv6, Markdown, WebSockets, FastCGI, mallar, etc. Caddy aktiverar HTTPS som standard för webbplatser med kvalificerade domännamn och omdirigerar HTTP-förfrågningar till HTTPS. Det får certifikat under start och fortsätter att förnya dem under serverns livstid.

Intressant har den en 'TLS-funktion' på begäran, som erbjuder en alternativ konfigurationsmetod som gör att Caddy endast kan få certifikat efter behov under TLS-handskakningar. Den finns i alla större distributioner som MAC, Windows, Android, Linux, BSD och Solaris.

Önskvärda funktioner

Caddy är en utmärkt kandidat för användaren som söker enkelhet och är nöjd med att arbeta med standardkonfigurationer. Det är en idealisk webbserver för att köra applikationer skrivna i GO. Enligt w3tech har den för närvarande 0.1% av alla webbplatser.

6: Eclipse Jetty Webserver

Eclipse Jetty är utformad och byggd som en HTTP-server, HTTP-klient och javax servlet-behållare för att servera statiskt och dynamiskt innehåll som en fristående eller inbäddad instans. Jetty-webbservern och andra kärnkomponenter hostas och underhålls av Eclipse Foundation.
Jetty är en lätt och mycket skalbar webbserver och servletmotor. Jetty är en helt asynkron webbserver som är komponentinriktad och lätt kan bäddas in i andra applikationer. Den stöder webbprotokoll som HTTP, HTTP / 2 och WebSocket. Dessa tekniker implementerar en arkitektur med hög volym, låg latens och maximal prestanda samtidigt som den behåller sin enkelhet och kompatibilitet. Det kan uppnå utmärkta resultat med tiotusentals samtidiga HTTP-anslutningar och WebSocket-anslutningar.

Bryggan har ett litet fotavtryck som gör det möjligt för webbutvecklare att effektivt distribuera och konfigurera brygga i vilken miljö som helst utan att oroa sig för den oönskade omkostnaden eller minnesanvändningen. Med ett litet minnesavtryck kan du köra fler serverinstanser på virtuell hårdvara, vilket gör det till ett bra alternativ i molndistributioner och infrastruktur.

Önskvärda funktioner

Eclipse har hittat antagande i många projekt som Apache ActiveMQ, Google App Engine, Alfresco, Apache Geronimo, Apache Maven, Apache Spark, Eclipse och Twitters Streaming API. Läs mer här.

7: Lighttpd webbserver

Lighttpd eller Lighty är en gratis och öppen källkod webbserver byggd för hastighetskritiska applikationer. Den är säker, snabb, flexibel och har ett minimalt fotavtryck på mindre än 1 MB. Dess lilla fotavtryck gör det mycket ekonomiskt med servern resurser och CPU-användning. Lighttpd distribueras under BSD-licensen och gynnas för sin enkelhet, prestanda och supportmoduler.

Lighttpd är byggd på en asynkron modell för begäranhantering, vilket är viktigt för hantering och hantering av en stor mängd parallella anslutningar vilket gör det till ett idealiskt alternativ för högpresterande webbapplikationer. Vissa kan säga att det speglar arkitekturen i Nginx. Den stöder FastCGI, CGI och SCGI för gränssnitt mellan din webbserver och andra program. Det stöder också applikationer skrivna på andra språk som Python, Perl, PHP och Ruby, som är populära utvecklingsspråk bland utvecklare.

Andra avancerade funktioner i Lighty inkluderar; Auth, URL-omskrivning, stöd för SSL / TLS, virtuell hosting och HTTP-utmatningskomprimering via mod_compress-modulen.

Önskvärda funktioner

Lighttpd är en enkel trådad webbserver som enkelt kan hantera några hundra förfrågningar per sekund och är ett bra alternativ för användare som står inför utmaningar i miljöer med lågt minne och låg CPU. Lighty körs inbyggt på Linux / Unix-system, men du kan också köra det på Microsoft Windows-plattformen. Läs mer om användningsstatistik, licensiering och support på Lighttpd-hemsidan.

8: OpenLiteSpeed ​​webbserver

OpenLiteSpeed ​​är ett open source-alternativ till LiteSpeed ​​Enterprise-webbserverutgåvan. Den är byggd för enkelhet, säkerhet, optimering och levereras med alla viktiga funktioner i Enterprise-utgåvan.

OpenLiteSpeed ​​är utformad på en händelsestyrd, resursoptimerad arkitektur. Den levereras med ett intuitivt GUI för WebAdmin för att hantera webbplatser och övervaka olika uppsättningar serverstatistik. OpenLiteSpeed ​​är optimerad för att utföra skript utformade på ett brett spektrum av språk som Perl, Python, Ruby och Java. Den stöder IPv6 och SSL / TLS.

Önskvärda funktioner

OpenLiteSpeed ​​är mångsidig och du kan konfigurera den som en belastningsutjämnare eller omvänd proxy. OpenLiteSpeed ​​är gratis att ladda ner och är tillgängligt under GPLv3-licensen. Det är ett bra alternativ för WordPress-baserade webbplatser.

9: H2O-webbserver

H2O är en ny generation HTTP-server med öppen källkod. Den har snabbare svarstider med mindre CPU-användning jämfört med äldre generationens webbservrar. H2O är designad och byggd från grunden för att skapa kompletta HTTP / 2-implementeringar.

Användare av H2O kan dra nytta av nya HTTP / 2-funktioner som latensoptimering, server-push, prioriterad innehållsservering och server-push. Dessa funktioner kan dra nytta av modern webbläsarfunktionalitet.

Önskvärda funktioner

H20 är skrivet på C-programmeringsspråket och kan också användas som ett bibliotek. H2O är tillgängligt under MIT-licensen. Ta reda på mer om H2O-användningsstatistik.

10: Cherokee webbserver

Cherokee är en lätt, snabb, flexibel och performant öppen källkod, plattformsservrar. Det utvecklades som ett personligt utvecklingsprojekt men har vuxit till en anständig webbserver som körs på Linux, BSD, Solaris, MAC och Windows.

Cherokee gör vår lista på grund av dess enkelhet. Den levereras med ett vänligt webbaserat gränssnitt, och du behöver inte behärska många kommandoradskonfigurationer för att få den att fungera.
Den stöder tekniker som FastCGI, CGI, SSI, SCGI, PHP, TLS och SSL-krypterade anslutningar, VirtualHosts, lastbalansering och Apache-kompatibla loggfiler.

Cherokee kan hantera samtidiga anslutningar på lågt minne och förbättrar maskinvarans prestanda. Den har en modulär arkitektur som kan modifieras och utökas genom en administrationsguide för att utföra specifika uppgifter, utöka applikationer och köra ramar.

Önskvärda funktioner

Trots att den inte är aktivt utvecklad är den en bra webbserver för enkla projekt. Den stöder PHP, Django, Ruby on Rails, ColdFusion, Alfresco, Symfony, GNU Mailman, .NET med Mono, rTorrent och Zend Engine, vilket ger dig många alternativ för att bygga ditt projekt.

Lär dig genom att försöka

Om du kommer igång på webbservrar kan du testa LEMP (Linux, Nginx, MySQL, PHP) eller LAMP (Linux, Apache, MySQL, PHP). Du kan enkelt installera dessa staplar med enkla installatörer och finns också i din Linux-pakethanterare. Det ger dig en bred praktisk erfarenhet av hur webbservrar fungerar.

Jag har inkluderat några populära webbservrar (Apache, Nginx), nyare (H2O, Node.js) och tittade på Jetty-webbservern som stöds av Java-teknik. Listan är inte alls omfattande, och med mer forskning kan du upptäcka andra webbserverteknologier att testa eller använda för ditt projekt.

Hur man visar OSD-överlägg i helskärms Linux-appar och -spel
Att spela helskärmsspel eller använda appar i distraktionsfritt helskärmsläge kan avskärma dig från relevant systeminformation som syns i en panel ell...
Topp 5 spelinspelningskort
Vi har alla sett och älskat streaming av spel på YouTube. PewDiePie, Jakesepticye och Markiplier är bara några av de bästa spelarna som har tjänat mil...
Hur man utvecklar ett spel på Linux
För ett decennium sedan skulle inte många Linux-användare förutsäga att deras favoritoperativsystem en dag skulle vara en populär spelplattform för ko...