Preuzimanja

10 najboljih web poslužitelja otvorenog koda za Linux

10 najboljih web poslužitelja otvorenog koda za Linux

Čitate ovaj članak s web mjesta koje pokreće web poslužitelj otvorenog koda jednostavno zato što web poslužitelji otvorenog koda napajaju preko 80% web mjesta i aplikacija. Pojam web poslužitelj može se koristiti naizmjenično da se odnosi na hardver ili softver koji se koriste za posluživanje sadržaja krajnjim korisnicima ili klijentima putem HTTP-a.

Web poslužitelji su u razvoju i neprestanom poboljšanju od ranih 90-ih. Postoje različite vrste web poslužitelja i oni se mogu graditi za određene potrebe, za određene tehnologije ili kao posebne opcije za određene korporacije.

Ovaj će članak navesti neke od pouzdanih i popularnih projekata web poslužitelja otvorenog koda koji su vam dostupni za instalaciju i pokretanje vaše aplikacije ili web mjesta.

Web poslužitelji otvorenog koda za Linux

Web poslužitelj može se odnositi na cjelokupni hardverski i softverski sustav, ili posebno na softver koji prihvaća i opslužuje HTTP zahtjeve klijenata.

Kao softver, web poslužitelj kontrolira i upravlja načinom na koji se hostirane datoteke poslužuju klijentima. To može biti HTTP poslužitelj koji razumije URL-ove i HTTP ili HTTP / 2 protokole.

Kao hardver, web poslužitelj je računalo na kojem se nalazi softver web poslužitelja i datoteke komponenata web mjesta kao što su HTML stranice, CSS tablice stilova, slike ili JavaScript datoteke.

Kad god korisnik, poput vas, treba datoteku ili informacije hostirane na web poslužitelju, za postavljanje zahtjeva upotrijebit ćete web preglednik. Zahtjev se šalje relevantnom web poslužitelju (hardver), gdje HTTP poslužitelj prihvaća zahtjev, pronalazi odgovarajuću datoteku i vraća je natrag klijentskom pregledniku putem HTTP-a.

Statični web poslužitelj poslat će hostirane datoteke takvi kakvi jesu u vaš preglednik.
Dinamični web poslužitelj sadrži bazu podataka i poslužitelj aplikacija koji ažuriraju hostirane datoteke prije slanja u vaš preglednik putem HTTP-a.

1: Apache HTTP web poslužitelj

U početku objavljen 1995. godine, najpopularniji je web poslužitelj. Prema statistikama korištenja web poslužitelja iz w3techa.com, Apache ima snage oko 33.9% web aplikacija i web stranica na World Wide Webu. Objavljen je pod Apache licencom verzije 2, koja zahtijeva očuvanje obavijesti o autorskim pravima i izjava o odricanju odgovornosti, ali ne zahtijeva distribuciju modificiranih verzija pomoću iste licence. Radi u svim popularnim operativnim sustavima poput Linuxa, Unixa, Windows, Mac OS X, FreeBSD, Solaris, Novell Netware, OS / 2 itd.

Apache HTTP napisan je na jeziku C i koristi modularnu arhitekturu koja je vrlo prilagodljiva, a može učitati dodatne module za proširenje svojih značajki. Oni uključuju mod_proxy, koji će omogućiti proxy / gateway na vašem poslužitelju, mod_proxy_balancer će omogućiti uravnoteženje opterećenja za sve podržane protokole. mod_file_cache za predmemoriranje, mod_ftp za FTP podršku za prijenose i preuzimanja ili mod_ssl za podršku protokola šifriranja SSL / TLS.
Ostali značajni moduli uključuju proxy modul (mod_proxy), mod_rewrite (modul za prepisivanje URL-a), mod_include i mod_ext_filter.

Apache također ima popularnu metodu kompresije koja je uključena u modul eksternog proširenja, mod_gzip. Izgrađena je za pomoć u smanjenju veličine web stranica koje se poslužuju putem HTTP-a. Prilagođene datoteke dnevnika (mod_log_config) upravljaju datotekama dnevnika koje se mogu analizirati putem web preglednika. Sadrži ModSecurity za upravljanje otkrivanjem i prevencijom upada za web aplikacije.

Poželjne značajke

Od verzije 2.4, Apache podržava HTTP / 2 putem mod_http / 2, što poboljšava performanse. Apache se smatrao nešto sporijim od Nginxa (asinkroni web-poslužitelj vođen događajima), što je dovelo do povećanog usvajanja Nginxa, ali korisnici su svjedočili poboljšanju performansi od Apachea 2.2.

2: Apache Tomcat web poslužitelj

Apache Tomcat je popularni web poslužitelj na razini poduzeća dostupan na tržištu. Izgrađena je za hostiranje internetskih rješenja Java čija je upotreba relativno česta i obilna u velikim organizacijama zbog velike skalabilnosti, performansi i broja alata dostupnih za Java ekosustav. Apache Tomcat je sazreli web poslužitelj čije je stvaranje zaslužno James Duncan Davidson iz zaklade Apache. Tomcat je prije više od 20 godina u razvoju od strane softverske zaklade Apache kao web poslužitelj Apache.

Tomcat je Java servlet koji dolazi s proširenom funkcionalnošću za interakciju s Java servletima, a implementira tehničke specifikacije kao što su JavaServer Pages (JSP) i Java Expression Language (Java EL).

Tomcat je napravljen od više komponenti poput kojota, kataline, jaspisa, klastera itd. Catalina je spremnik za servlet, dok je Coyote komponenta konektora koja podržava HTTP 1.1. kao web poslužitelj. Omogućuje Catalini (Java servlet ili JSP spremnik) da djeluje kao web poslužitelj koji lokalnim datotekama služi kao HTTP dokumenti. Jasper je Tomcat-ov JSP motor i on raščlanjuje JSP datoteke kako bi ih kompajlirao u Java kôd kao servlete. Komponenta klastera upravlja velikim aplikacijama uravnoteženjem opterećenja i drugim tehnikama.

Možete pokrenuti Apache Tomcat zajedno s Apache HTTP-om kako biste olakšali projekte s Javom i PHP-om. Tomcat također podržava AWS (Amazon Web Services), što ga čini idealnim za rješenja zasnovana na oblaku. Eclipse IDE podržava Tomcat, što programerima olakšava stvaranje i postavljanje aplikacija.

Poželjne značajke

Apache Tomcat web poslužitelj bolja je opcija za Java web-bazirane programe. Apache Tomcat često je naveden među ostalim Java aplikacijskim poslužiteljima otvorenog koda poput JBoss, Wildfly i Glassfish.

3: Nginx web poslužitelj

Nginx čita 'Engine-x' je otvoreni izvor, visokih performansi i robustan web poslužitelj. Može se primijeniti kao uravnoteživač opterećenja, obrnuti proxy, IMAP / POP3 proxy poslužitelj i API gateway. Igor Sysoev razvio ga je 2002. godine kao odgovor na problem C10K. Problem C10k problem je optimizacije mrežnih utičnica i web poslužitelja za obradu deset tisuća istodobnih veza i klijenata. Popularnost Nginxa porasla je otprilike 33.7% svih web stranica.

Nginx se oslanja na asinkronu arhitekturu vođenu događajima za obradu velikog broja istodobnih sesija. Postao je popularan među administratorima zbog niske iskorištenosti resursa, visoke istodobnosti i skalabilnosti. Idealan je za hosting web stranica s velikim prometom, a može obraditi do 500 000 zahtjeva u sekundi uz malu iskorištenost procesora.

Nginx se može koristiti kao samostalni web poslužitelj ili kao poslužitelj statičnog sadržaja ispred drugog web poslužitelja. Štoviše, Nginx možete implementirati za posluživanje dinamičkog HTTP sadržaja na mreži koristeći SCGI rukovatelje za skripte, FastCGI, WSGI poslužitelje aplikacija ili Phusion Passenger module.

Poželjne značajke

Nginx ima dvije uspostavljene verzije, OSS Nginx i Nginx Plus. Nginx Plus nudi dodatne značajke kao što su aktivne provjere zdravlja, trajanje sesija, integracija DNS-usluga-otkrivanje, Datalog, dodaci Dynatrace New Relic, API za čišćenje predmemorije, AppDynamic, Active-Active HA s sinkronizacijom konfiguracije. API Nginx Plus podržava spremišta ključne vrijednosti.

Nginx je dizajniran da se nadmeće s poslužiteljem Apache za posluživanje statičnih datoteka, upotrebu manje memorije i pronalaženje odgovora na problem c10k. S pouzdanjem možemo reći da u ovoj kategoriji pobjeđuje Apacheove ruke. Zbog toga su ga postavile popularne web stranice s velikim prometom poput Facebooka, LinkedIna i Twittera. Saznajte više o projektu na službenoj početnoj stranici Nginxa.

4: Čvor.js web poslužitelj

Čvor.js je runtime okruženje na strani poslužitelja koje se koristi za izgradnju web aplikacija u Javascriptu. U paketu je s HTTP modulom kako bi proširio svoju funkcionalnost kao web poslužitelj. Čvor.js je u početku napisao Ryan Dahl 2009. godine i trenutno ima ovlasti 1.2% svih web stranica.

Čvor.js implementira arhitekturu vođenu događajima sposobnu za asinkroni U / I. Optimizira protok i skalabilnost, a u web aplikacijama možete učinkovito implementirati komunikaciju u stvarnom vremenu. Ključna razlika između Nodea.js i ostalih web poslužitelja jest da je dio stoga za web razvoj koji se sastoji od CSS, HTML i JavaScript stoga.
Čvor.js projektom upravlja Node.js Foundation i dostupan je pod kombinacijom licenci. Saznajte više od Čvora.web stranica projekta js.

5: Caddy web poslužitelj

Caddy je brz i moćan multiplatformni web poslužitelj, obrnuti proxy, API pristupnik i uravnoteživač opterećenja. Projekt Caddy dizajnirao je Mathew Holt, a napisao ga je na jeziku Go. To je novi okvir i snažno stječe slijeđenje i pažnju u okviru otvorenog koda kao alternativa Apacheovom web poslužitelju.

Caddy je izrađen bez ovisnosti što ga čini prijenosnim i jednostavnim za instalaciju i upotrebu u različitim distribucijama. Caddy podržava značajke poput IPv6, Markdown, WebSockets, FastCGI, predloške, itd. Caddy prema zadanim postavkama aktivira HTTPS za web lokacije s kvalificiranim imenima domena i preusmjerava HTTP zahtjeve na HTTPS. Certifikate dobiva tijekom pokretanja i nastavlja ih obnavljati tijekom trajanja poslužitelja.

Zanimljivo je da ima značajku 'na zahtjev TLS' koja nudi alternativnu metodu konfiguracije koja Caddy omogućuje dobivanje certifikata samo po potrebi tijekom TLS rukovanja. Dostupan je u svim glavnim distribucijama kao što su MAC, Windows, Android, Linux, BSD i Solaris.

Poželjne značajke

Caddy je izvrstan kandidat za korisnika koji traži jednostavnost i sretan je što radi sa zadanim konfiguracijama. To je idealan web poslužitelj za pokretanje aplikacija napisanih u GO. Prema w3tech, trenutno ima 0.1% svih web stranica.

6: Web poslužitelj Eclipse Jetty

Eclipse Jetty dizajniran je i izrađen kao HTTP poslužitelj, HTTP klijent i spremnik javax servleta za posluživanje statičkog i dinamičkog sadržaja kao samostalna ili ugrađena instanca. Web poslužitelj Jetty i ostale temeljne komponente hostira i održava Eclipse Foundation.
Jetty je lagan i vrlo skalabilan web poslužitelj i servlet motor. Jetty je potpuno asinkroni web poslužitelj koji je orijentiran na komponente i koji se lako može ugraditi u druge programe. Podržava web protokole kao što su HTTP, HTTP / 2 i WebSocket. Ove tehnologije implementiraju arhitekturu velikog volumena, nisku latenciju i maksimalne performanse, zadržavajući jednostavnost i kompatibilnost. Izvrsne rezultate može postići s desecima tisuća istodobnih HTTP veza i WebSocket veza.

Jetty ima mali otisak koji web programerima omogućuje učinkovito postavljanje i konfiguriranje Jetty-a u bilo kojem okruženju bez brige o neželjenim troškovima ili memoriji. Uz mali memorijski otisak možete pokrenuti više instanci poslužitelja na virtualnom hardveru, što ga čini dobrom opcijom u implementacijama i infrastrukturi u oblaku.

Poželjne značajke

Eclipse je pronašao prihvaćanje u mnogim projektima kao što su Apache ActiveMQ, Google App Engine, Alfresco, Apache Geronimo, Apache Maven, Apache Spark, Eclipse i Twitterov Streaming API. Saznajte više ovdje.

7: Web poslužitelj Lighttpd

Lighttpd ili Lighty besplatni je web poslužitelj otvorenog koda izgrađen za brze programe. Siguran je, brz, fleksibilan i ima minimalni otisak manji od 1 MB. Njegov mali otisak čini ga vrlo ekonomičnim s resursima poslužitelja i korištenjem CPU-a. Lighttpd se distribuira pod BSD licencom i favoriziran je zbog svoje jednostavnosti, performansi i modula za podršku.

Lighttpd je izgrađen na asinkronom modelu za obradu zahtjeva, što je neophodno za rukovanje i upravljanje velikim brojem paralelnih veza što ga čini idealnom opcijom za web-aplikacije visokih performansi. Neki bi mogli reći da odražava arhitekturu u Nginxu. Podržava FastCGI, CGI i SCGI za povezivanje vašeg web poslužitelja s drugim programima. Također podržava aplikacije napisane na drugim jezicima kao što su Python, Perl, PHP i Ruby, koji su popularni razvojni jezici među programerima.

Ostale napredne značajke Lightyja uključuju; Auth, prepisivanje URL-a, podrška za SSL / TLS, virtualni hosting i HTTP kompresiju izlaza kroz mod_compress modul.

Poželjne značajke

Lighttpd je web-poslužitelj s jednim navojem koji može lako obraditi nekoliko stotina zahtjeva u sekundi i dobra je opcija za korisnike koji se suočavaju s izazovima u okruženjima s malo memorije i s malo procesora. Lighty izvorno radi na Linux / Unix sustavima, ali možete ga pokrenuti i na platformi Microsoft Windows. Doznajte više o statistici upotrebe, licenciranju i podršci na početnoj stranici Lighttpd-a.

8: web poslužitelj OpenLiteSpeed

OpenLiteSpeed ​​je open-source alternativa izdanju LiteSpeed ​​Enterprise Web poslužitelja. Izgrađena je za jednostavnost, sigurnost, optimizaciju i dolazi sa svim bitnim značajkama u izdanju Enterprise.

OpenLiteSpeed ​​dizajniran je na arhitekturi optimiziranoj resursima koja se temelji na događajima. Dolazi s intuitivnim WebAdmin GUI za upravljanje web mjestima i nadgledanje različitih skupova mjernih podataka poslužitelja. OpenLiteSpeed ​​optimiziran je za izvršavanje skripti dizajniranih na širokom spektru jezika kao što su Perl, Python, Ruby i Java. Podržava IPv6 i SSL / TLS.

Poželjne značajke

OpenLiteSpeed ​​je svestran i možete ga konfigurirati kao uravnoteživač opterećenja ili obrnuti proxy. OpenLiteSpeed ​​je besplatan za preuzimanje i dostupan je pod GPLv3 licencom. Dobra je opcija za web stranice sa sadržajem utemeljene na WordPressu.

9: H2O web poslužitelj

H2O je nova generacija HTTP poslužitelja otvorenog koda. Može se pohvaliti bržim vremenom odziva s manje upotrebe CPU-a u usporedbi sa starijim generacijama web poslužitelja. H2O je dizajniran i izrađen od temelja kako bi stvorio cjelovite HTTP / 2 implementacije.

Korisnici H2O mogu iskoristiti nove HTTP / 2 značajke kao što su optimizacija kašnjenja, push-poslužitelj, prioritetno posluživanje sadržaja i push server. Te značajke mogu iskoristiti modernu funkcionalnost preglednika.

Poželjne značajke

H20 je napisan na programskom jeziku C i može se koristiti i kao knjižnica. H2O je dostupan pod licencom MIT. Saznajte više o statistici upotrebe H2O.

10: Cherokee web poslužitelj

Cherokee je lagan, brz, fleksibilan i učinkovit web-poslužitelj s više platformi otvorenog koda. Razvijen je kao projekt osobnog razvoja, ali izrastao je u pristojan web poslužitelj koji radi na Linuxu, BSD-u, Solarisu, MAC-u i Windowsima.

Cherokee čini naš popis zbog svoje jednostavnosti. Dolazi s prijateljskim internetskim sučeljem i ne morate svladati mnoge konfiguracije naredbenog retka da bi ga pokrenuli i radili.
Podržava tehnologije kao što su FastCGI, CGI, SSI, SCGI, PHP, TLS i SSL šifrirane veze, VirtualHosts, uravnoteženje opterećenja i datoteke zapisnika kompatibilne s Apacheom.

Cherokee se može nositi s istodobnim vezama na malo memorije i poboljšava hardverske performanse. Ima modularnu arhitekturu koja se može izmijeniti i proširiti putem čarobnjaka za administraciju za obavljanje određenih zadataka, proširivanje aplikacija i pokretanje okvira.

Poželjne značajke

Iako se aktivno ne razvija, dobar je web poslužitelj za jednostavne projekte. Podržava PHP, Django, Ruby on Rails, ColdFusion, Alfresco, Symfony, GNU Mailman, .NET s Mono, rTorrent i Zend Engine, koji vam nude mnoge alternative za izgradnju vašeg projekta.

Učite pokušavajući

Ako započinjete s web poslužiteljima, isprobajte snopove LEMP (Linux, Nginx, MySQL, PHP) ili LAMP (Linux, Apache, MySQL, PHP). Te snopove možete jednostavno instalirati pomoću jednostavnih instalacijskih programa, a dostupni su i u vašem Linux upravitelju paketa. Pružit će vam široko praktično iskustvo o radu web poslužitelja.

Uključio sam neke popularne web poslužitelje (Apache, Nginx), novije (H2O, Node).js) i pogledao web poslužitelj Jetty koji podržavaju Java tehnologije. Popis nikako nije opsežan, a uz više istraživanja možete otkriti i druge tehnologije web poslužitelja koje biste isprobali ili koristili za svoj projekt.

Kako instalirati i igrati Doom na Linuxu
Uvod u Doom Serija Doom nastala je 90-ih nakon izlaska originalnog Dooma. To je bio trenutni hit i od tog vremena nadalje igraća serija dobila je broj...
Vulkan za korisnike Linuxa
Sa svakom novom generacijom grafičkih kartica vidimo da programeri igara pomiču granice grafičke vjernosti i dolaze na korak od fotorealizma. No, bez ...
OpenTTD vs Simutrans
Stvaranje vlastite simulacije prijevoza može biti zabavno, opuštajuće i izuzetno primamljivo. Zbog toga morate isprobati što više igara kako biste pro...