Prenosi

10 najboljših odprtokodnih spletnih strežnikov za Linux

10 najboljših odprtokodnih spletnih strežnikov za Linux

Ta članek berete s spletnega mesta, ki ga poganja odprtokodni spletni strežnik, preprosto zato, ker odprtokodni spletni strežniki napajajo več kot 80% spletnih mest in aplikacij. Izraz spletni strežnik se lahko medsebojno uporablja za označevanje strojne ali programske opreme, ki se uporablja za prikazovanje vsebin končnim uporabnikom ali odjemalcem prek HTTP.

Spletni strežniki se razvijajo in nenehno izboljšujejo od zgodnjih 90-ih. Obstajajo različne vrste spletnih strežnikov, ki jih je mogoče izdelati za posebne potrebe, za določene tehnologije ali kot posebne možnosti za nekatere korporacije.

V tem članku bodo navedeni nekateri zanesljivi in ​​priljubljeni odprtokodni projekti spletnih strežnikov, ki jih lahko namestite in zaženete svojo aplikacijo ali spletno mesto.

Odprtokodni spletni strežniki za Linux

Spletni strežnik se lahko nanaša na celoten sistem strojne in programske opreme ali natančneje na programsko opremo, ki sprejema in streže zahteve HTTP odjemalcev.

Kot programska oprema spletni strežnik nadzoruje in upravlja, kako gostujoče datoteke strežejo odjemalcem. Lahko je strežnik HTTP, ki razume URL-je in protokole HTTP ali HTTP / 2.

Kot strojna oprema je spletni strežnik računalnik, ki gosti programsko opremo spletnega strežnika in datoteke komponent spletnega mesta, kot so strani HTML, tabele slogi CSS, slike ali datoteke JavaScript.

Kadar koli uporabnik, kot ste vi, potrebuje datoteko ali informacije, ki jih gosti spletni strežnik, boste za oddajo zahteve uporabili spletni brskalnik. Zahteva se pošlje ustreznemu spletnemu strežniku (strojna oprema), kjer strežnik HTTP zahtevo sprejme, poišče ustrezno datoteko in jo prek HTTP pošlje nazaj v brskalnik odjemalca.

Statični spletni strežnik bo v vaš brskalnik poslal takšne datoteke, kakršne so.
Dinamični spletni strežnik vsebuje bazo podatkov in aplikacijski strežnik, ki posodobi gostujoče datoteke, preden jih pošlje v brskalnik prek HTTP.

1: Spletni strežnik Apache HTTP

Prvotno izdan leta 1995, je najbolj priljubljen spletni strežnik. Glede na statistiko uporabe spletnih strežnikov podjetja w3tech.com, Apache ima okoli 33 let.9% spletnih aplikacij in spletnih mest v svetovnem spletu. Izdan je pod licenco Apache različice 2, ki zahteva ohranitev obvestil o avtorskih pravicah in zavrnitvi odgovornosti, vendar ne zahteva, da se spremenjene različice distribuirajo z isto licenco. Deluje v vseh priljubljenih operacijskih sistemih, kot so Linux, Unixu podobni, Windows, Mac OS X, FreeBSD, Solaris, Novell Netware, OS / 2 itd.

Apache HTTP je napisan v jeziku C in uporablja modularno arhitekturo, ki je zelo prilagodljiva in lahko naloži dodatne module za razširitev svojih funkcij. Sem spada mod_proxy, ki bo omogočil proxy / prehod na vašem strežniku, mod_proxy_balancer pa bo omogočil uravnoteženje obremenitve za vse podprte protokole. mod_file_cache za predpomnjenje, mod_ftp za podporo FTP za nalaganja in prenose ali mod_ssl za podporo protokola šifriranja SSL / TLS.
Drugi pomembni moduli vključujejo modul proxy (mod_proxy), mod_rewrite (modul za prepisovanje URL-jev), mod_include in mod_ext_filter.

Apache ima tudi priljubljen način stiskanja, vključen v zunanji razširitveni modul, mod_gzip. Zgrajena je za pomoč pri zmanjševanju velikosti spletnih strani, ki se strežejo prek HTTP. Dnevniki po meri (mod_log_config) upravljajo dnevniške datoteke, ki jih je mogoče analizirati prek spletnega brskalnika. Ima ModSecurity za upravljanje odkrivanja in preprečevanja vdorov za spletne aplikacije.

Zaželene lastnosti

Od različice 2.4, Apache podpira HTTP / 2 prek mod_http / 2, ki izboljša zmogljivost. Apache je veljal za nekoliko počasnejšega od Nginxa (asinhroni spletni strežnik, ki temelji na dogodkih), kar je privedlo do večjega sprejetja Nginxa, vendar so bili uporabniki že od Apache 2 priča izboljšanju zmogljivosti.2.

2: Spletni strežnik Apache Tomcat

Apache Tomcat je priljubljen spletni strežnik na ravni podjetja, ki je na voljo na trgu. Zgrajena je za gostovanje spletnih rešitev Java, katerih uporaba je v velikih organizacijah razmeroma pogosta in bogata zaradi velike razširljivosti, zmogljivosti in števila orodij, ki so na voljo za ekosistem Java. Apache Tomcat je dozorel spletni strežnik, katerega ustvarjanje je zaslužno James Duncan Davidson iz fundacije Apache. Tomcat že več kot 20 let razvija programska fundacija Apache kot spletni strežnik Apache.

Tomcat je programček Java, ki ima razširjeno funkcionalnost za interakcijo z programčkoma Java in izvaja tehnične specifikacije, kot sta JavaServer Pages (JSP) in Java Expression Language (Java EL).

Tomcat je narejen iz več komponent, kot so kojot, katalina, jasper, grozd itd. Catalina je vsebnik za strežniški programček, medtem ko je Coyote komponenta konektorja, ki podpira HTTP 1.1. kot spletni strežnik. Catalini (strežnik Java ali vsebnik JSP) omogoča, da deluje kot spletni strežnik, ki lokalnim datotekam služi kot dokumenti HTTP. Jasper je Tomcat-ov motor JSP in datoteke JSP razčleni, da jih zbere v kodo Java kot servlete. Komponenta grozda upravlja velike aplikacije z izravnavo obremenitve in drugimi tehnikami.

Apache Tomcat lahko zaženete skupaj z Apache HTTP, da olajšate projekte tako z Javo kot s PHP. Tomcat podpira tudi AWS (Amazon Web Services), zaradi česar je idealen za rešitve v oblaku. Eclipse IDE podpira Tomcat, tako da razvijalcem olajša ustvarjanje in uvajanje aplikacij.

Zaželene lastnosti

Spletni strežnik Apache Tomcat je boljša možnost za spletne aplikacije Java. Apache Tomcat je pogosto uvrščen med druge odprtokodne aplikacijske strežnike Java, kot so JBoss, Wildfly in Glassfish.

3: spletni strežnik Nginx

Nginx bere "Engine-x" je odprtokodni, visoko zmogljiv in robusten spletni strežnik. Lahko se uporabi kot izravnalnik obremenitve, povratni strežnik proxy, strežnik proxy IMAP / POP3 in prehod API. Igor Sysoev ga je razvil leta 2002 kot odgovor na problem C10K. Problem C10k je problem optimizacije omrežnih vtičnic in spletnih strežnikov za obdelavo deset tisoč sočasnih povezav in odjemalcev. Nginx je postal priljubljen s približno 33 leti.7% vseh spletnih mest.

Nginx se zanaša na asinhrono arhitekturo, ki jo vodijo dogodki, za obdelavo velikega števila sočasnih sej. Med skrbniki je postal priljubljen zaradi nizke izkoriščenosti virov, visoke sočasnosti in razširljivosti. Idealen je za gostovanje spletnih mest z velikim prometom in z nizko porabo procesorja lahko obdela do 500.000 zahtev na sekundo.

Nginx se lahko uporablja kot samostojni spletni strežnik ali kot statični strežnik vsebin pred drugim spletnim strežnikom. Poleg tega lahko Nginx namestite za prikazovanje dinamične vsebine HTTP v omrežju z uporabo SCGI-jevih obdelav za skripte, FastCGI, aplikacijskih strežnikov WSGI ali Phusion Passenger.

Zaželene lastnosti

Nginx ima dve uveljavljeni različici, OSS Nginx in Nginx Plus. Nginx Plus ponuja dodatne funkcije, kot so aktivni zdravstveni pregledi, trajanje sej, integracija DNS-storitev-odkrivanje, Datalog, vtičniki Dynatrace New Relic, API za čiščenje predpomnilnika, AppDynamic, Active-Active HA s sinhronizacijo konfiguracije. API Nginx Plus podpira shrambe ključ-vrednost.

Nginx je bil zasnovan tako, da konkurira strežniku Apache za strežbo statičnih datotek, porabo manj pomnilnika in iskanje odgovorov na težavo c10k. Lahko samozavestno rečemo, da v tej kategoriji premaga Apacheove roke. Zato so ga uvedla priljubljena spletna mesta z veliko prometa, kot so Facebook, LinkedIn in Twitter. Več o projektu preberite na uradni domači strani Nginx.

4: vozlišče.js spletni strežnik

Vozlišče.js je izvajalno okolje na strani strežnika, ki se uporablja za izdelavo spletnih aplikacij v Javascriptu. V kompletu je z modulom HTTP, da razširi svojo funkcionalnost kot spletni strežnik. Vozlišče.js je leta 2009 sprva napisal Ryan Dahl in trenutno pooblašča 1.2% vseh spletnih mest.

Vozlišče.js izvaja arhitekturo na podlagi dogodkov, ki je sposobna asinhronega V / I. Optimizira prepustnost in razširljivost, v spletnih aplikacijah pa lahko učinkovito implementirate komunikacijo v realnem času. Ključna razlika med vozliščem.js in drugih spletnih strežnikov je, da je del sklada za spletni razvoj, sestavljen iz skladov CSS, HTML in JavaScript.
Vozlišče.js upravlja Node.js Foundation in je na voljo z različnimi licencami. Poiščite več od vozlišča.Spletno mesto projekta js.

5: Spletni strežnik Caddy

Caddy je hiter in zmogljiv večplatformni spletni strežnik, povratni proxy, prehod API in izravnalnik obremenitve. Projekt Caddy je zasnoval Mathew Holt in napisan v jeziku Go. Je nov okvir, ki si močno prizadeva za spremljanje in pozornost v odprtokodnem okviru kot alternativo spletnemu strežniku Apache.

Caddy je zgrajen brez odvisnosti, zaradi česar je prenosljiv in enostaven za namestitev in uporabo v različnih distribucijah. Caddy podpira funkcije, kot so IPv6, Markdown, WebSockets, FastCGI, predloge itd. Caddy privzeto aktivira HTTPS za spletna mesta z ustreznimi imeni domen in preusmeri zahteve HTTP na HTTPS. Certifikate pridobi med zagonom in jih obnavlja v času delovanja strežnika.

Zanimivo je, da ima funkcijo "TLS na zahtevo", ki ponuja alternativni način konfiguracije, ki Caddy omogoča pridobitev potrdil samo po potrebi med stiski roke TLS. Na voljo je v vseh glavnih distribucijah, kot so MAC, Windows, Android, Linux, BSD in Solaris.

Zaželene lastnosti

Caddy je odličen kandidat za uporabnika, ki išče preprostost in z veseljem dela s privzetimi konfiguracijami. Je idealen spletni strežnik za zagon aplikacij, napisanih v GO. Po navedbah w3tech ima trenutno 0.1% vseh spletnih mest.

6: Spletni strežnik Eclipse Jetty

Eclipse Jetty je zasnovan in izdelan kot strežnik HTTP, odjemalec HTTP in vsebnik strežniškega programčka javax, da služi statični in dinamični vsebini kot samostojni ali vdelani primerek. Spletni strežnik Jetty in druge ključne komponente gosti in vzdržuje Eclipse Foundation.
Jetty je lahek in zelo razširljiv spletni strežnik in strežniški programček. Jetty je popolnoma asinhni spletni strežnik, ki je usmerjen v komponente in ga je mogoče enostavno vgraditi v druge aplikacije. Podpira spletne protokole, kot so HTTP, HTTP / 2 in WebSocket. Te tehnologije izvajajo arhitekturo velike količine, majhno zakasnitev in največjo zmogljivost, hkrati pa ohranjajo preprostost in združljivost. Odlične rezultate lahko doseže z več deset tisoč istočasnih povezav HTTP in WebSocket.

Jetty ima majhen odtis, ki spletnim razvijalcem omogoča učinkovito uvajanje in konfiguriranje Jetty v katerem koli okolju, ne da bi se skrbeli zaradi neželene porabe ali pomnilnika. Z majhnim pomnilniškim odtisom lahko na virtualni strojni opremi zaženete več primerkov strežnika, kar je dobra izbira pri uvajanju v oblak in infrastrukturi.

Zaželene lastnosti

Eclipse je bil sprejet v številnih projektih, kot so Apache ActiveMQ, Google App Engine, Alfresco, Apache Geronimo, Apache Maven, Apache Spark, Eclipse in Twitter's Streaming API. Več o tem najdete tukaj.

7: Spletni strežnik Lighttpd

Lighttpd ali Lighty je brezplačen in odprtokodni spletni strežnik, zasnovan za hitro kritične aplikacije. Je varen, hiter, prilagodljiv in ima minimalni odtis manjši od 1 MB. Zaradi majhnega odtisa je zaradi strežniških virov in izkoriščenosti CPU zelo varčen. Lighttpd se distribuira pod licenco BSD in mu daje prednost zaradi enostavnosti, zmogljivosti in modulov za podporo.

Lighttpd je zasnovan na asinhronem modelu obdelave zahtev, kar je bistvenega pomena pri obdelavi in ​​upravljanju velikega števila vzporednih povezav, zaradi česar je idealna možnost za visoko zmogljive spletne aplikacije. Nekateri bi lahko rekli, da zrcali arhitekturo v Nginxu. Podpira FastCGI, CGI in SCGI za povezovanje vašega spletnega strežnika z drugimi programi. Podpira tudi programe, napisane v drugih jezikih, kot so Python, Perl, PHP in Ruby, ki so med razvijalci priljubljeni razvojni jeziki.

Druge napredne funkcije v Lightyju vključujejo; Avtorizacija, prepisovanje URL-jev, podpora za SSL / TLS, navidezno gostovanje in izhodno stiskanje HTTP prek modula mod_compress.

Zaželene lastnosti

Lighttpd je spletni navoj z enim navojem, ki z lahkoto obdela nekaj sto zahtev na sekundo in je dobra izbira za uporabnike, ki se soočajo z izzivi v okoljih z malo pomnilnika in z nizko CPU. Lighty deluje izvirno v sistemih Linux / Unix, lahko pa ga tudi na platformi Microsoft Windows. Več o statistiki uporabe, licenciranju in podpori najdete na domači strani Lighttpd.

8: spletni strežnik OpenLiteSpeed

OpenLiteSpeed ​​je odprtokodna alternativa izdaji spletnega strežnika LiteSpeed ​​Enterprise. Zasnovan je za preprostost, varnost, optimizacijo in ima vse bistvene funkcije v izdaji Enterprise.

OpenLiteSpeed ​​je zasnovan na arhitekturi, ki temelji na dogodkih in je optimizirana za vire. Na voljo je z intuitivnim uporabniškim vmesnikom WebAdmin za upravljanje spletnih mest in spremljanje različnih sklopov meritev strežnika. OpenLiteSpeed ​​je optimiziran za izvajanje skriptov, zasnovanih v številnih jezikih, kot so Perl, Python, Ruby in Java. Podpira IPv6 in SSL / TLS.

Zaželene lastnosti

OpenLiteSpeed ​​je vsestranski in ga lahko konfigurirate kot izravnalnik obremenitve ali obratni proxy. OpenLiteSpeed ​​je mogoče brezplačno prenesti in je na voljo pod licenco GPLv3. To je dobra izbira za spletna mesta z vsebino, ki temeljijo na WordPressu.

9: Spletni strežnik H2O

H2O je nova generacija odprtokodnih strežnikov HTTP. Ponaša se s hitrejšimi odzivnimi časi z manj izkoriščenostjo CPE v primerjavi s starejšimi spletnimi strežniki. H2O je zasnovan in zgrajen od začetka do popolne izvedbe HTTP / 2.

Uporabniki H2O lahko izkoristijo nove funkcije HTTP / 2, kot so optimizacija zakasnitev, potiskanje strežnika, prednostno prikazovanje vsebin in potiskanje strežnika. Te funkcije lahko izkoristijo sodobne funkcije brskalnika.

Zaželene lastnosti

H20 je napisan v programskem jeziku C in se lahko uporablja tudi kot knjižnica. H2O je na voljo pod licenco MIT. Izvedite več o statistiki uporabe H2O.

10: Spletni strežnik Cherokee

Cherokee je lahek, hiter, prilagodljiv in zmogljiv spletni strežnik z odprto kodo in več platform. Razvit je bil kot osebni razvojni projekt, prerasel pa je v spodoben spletni strežnik, ki deluje v Linuxu, BSD, Solarisu, MAC in Windows.

Cherokee naš seznam naredi zaradi svoje preprostosti. Na voljo je s prijaznim spletnim vmesnikom in vam ni treba obvladati številnih konfiguracij ukazne vrstice, da ga lahko zaženete in delate.
Podpira tehnologije, kot so šifrirane povezave FastCGI, CGI, SSI, SCGI, PHP, TLS in SSL, VirtualHosts, uravnoteženje obremenitve in datoteke dnevnika, združljive z Apache.

Cherokee lahko obvlada sočasne povezave s pomanjkanjem pomnilnika in izboljša zmogljivost strojne opreme. Ima modularno arhitekturo, ki jo je mogoče s pomočjo čarovnika za upravljanje spreminjati in razširjati za izvajanje določenih nalog, razširitev aplikacij in zagon okvirov.

Zaželene lastnosti

Kljub temu, da se aktivno ne razvija, je dober spletni strežnik za preproste projekte. Podpira PHP, Django, Ruby on Rails, ColdFusion, Alfresco, Symfony, GNU Mailman, .NET z Mono, rTorrent in Zend Engine, ki vam ponuja veliko možnosti za gradnjo vašega projekta.

Učite se s poskusom

Če začenjate s spletnimi strežniki, preizkusite sklade LEMP (Linux, Nginx, MySQL, PHP) ali LAMP (Linux, Apache, MySQL, PHP). Te sklade lahko enostavno namestite s preprostimi namestitvenimi programi, na voljo pa so tudi v upravitelju paketov Linux. Dala vam bo široko praktično izkušnjo o delovanju spletnih strežnikov.

Vključil sem nekaj priljubljenih spletnih strežnikov (Apache, Nginx), novejših (H2O, Node).js) in si ogledal spletni strežnik Jetty, ki ga podpirajo tehnologije Java. Seznam nikakor ni obsežen in z več raziskavami lahko odkrijete druge tehnologije spletnih strežnikov, ki jih lahko preizkusite ali uporabite za svoj projekt.

S pomočjo gumba X-Mouse Button Control različno prilagodite gumbe miške za različno programsko opremo
Mogoče potrebujete orodje, ki bi lahko spremenilo nadzor miške z vsako aplikacijo, ki jo uporabljate. V tem primeru lahko preizkusite aplikacijo z ime...
Microsoft Sculpt Touch Wireless Mouse Review
Pred kratkim sem prebral o Microsoftov kiparski dotik brezžično miško in se odločil za nakup. Potem ko sem ga nekaj časa uporabljal, sem se odločil, d...
Zaslonska sledilna ploščica in kazalec miške AppyMouse za tablične računalnike Windows
Uporabniki tabličnih računalnikov pogosto zgrešijo miškin kazalec, še posebej kadar običajno uporabljajo prenosne računalnike. Pametni telefoni in tab...