7 Веб сервера отвореног кода за мале до велике локације

Prešli smo značajan put od vremena kada je objavljen prvi veb server. Sada nam je na raspolaganju mnogo više uzbudljivih opcija.

Različiti projekti imaju jedinstvene potrebe, ali sektor veb servera otvorenog koda dugo je bio pod dominacijom jednog igrača. Dugo vremena, Apache je praktično bio jedini izbor, a upravljanje velikim opterećenjima predstavljalo je pravi izazov. Srećom, vremena su se promenila i pojavila su se nova rešenja koja odgovaraju specifičnim zahtevima.

Pogledajmo neke od najboljih i najpopularnijih veb servera otvorenog koda koji su danas dostupni.

Apache

On je gotovo sinonim za World Wide Web i još uvek pokreće većinu veb lokacija širom sveta.

Razlog za dominaciju Apache-a je trostruk: otvorena licenca, rani ulazak na tržište (ovaj server je objavljen još 1995. godine!) i lakoća konfigurisanja za PHP. Ovaj poslednji aspekt omogućio je `mod_php` modul, što je značilo da je instaliranje Apache-a sve što je bilo potrebno za razvoj u PHP-u.

Evo šta čini Apache izvanrednim:

  • Dostupan na svim platformama – Linux, Windows, macOS i drugim operativnim sistemima.
  • To je podrazumevani server za sve cPanel deljene hostinge, što znatno olakšava podešavanje i upravljanje sajtovima.
  • Velika funkcionalnost obezbeđena kroz široku kolekciju modula. Bez obzira koliko su vaše potrebe specifične, sigurno postoji modul za Apache.
  • Konfiguracija po direktorijumu preko `.htaccess` datoteka.
  • Podrška za HTTP/2, kompresiju, statičke datoteke i balansiranje opterećenja.
  • MPM i FastCGI režimi za obezbeđivanje visokog nivoa konkurentnosti.
  • Lako skriptovanje preko Lua.

Da li je Apache pravi izbor za vas?

Ukratko, da. Postojalo je vreme kada je Nginx (o kome ćemo govoriti u nastavku) preuzimao primat zbog svojih visokih performansi, ali je Apache to sustigao nakon objavljivanja verzije 2.2. Međutim, kao i svi rani učesnici, Nginx je privukao veliku pažnju, tako da možete naići na neke (neopravdane) kritike o mogućnostima Apache-a.

Nginx

Ako volite da pratite najnovije trendove, verovatno ste čuli za Nginx (izgovara se „engine-x“, što je bila inspiracija za ime). Objavljen je kao projekat 2002. godine od strane ruskog inženjera koji je bio frustriran nemogućnošću tadašnjih rešenja da se izbore sa C10k problemom (u osnovi, upravljanje hiljadama istovremenih veza).

Kada se Nginx pojavio, napravio je takvu senzaciju da su ljudi masovno prelazili sa Apache-a i nisu se osvrtali. A ovaj trend se nastavlja i danas. Iako je Apache danas dostigao sličan nivo, Nginx je ponudio neka izvanredna poboljšanja koja su mu pomogla da osvoji tržište.

  • Asinhrona arhitektura za upravljanje velikim opterećenjima.
  • Najbolje u klasi rukovanje statičkim datotekama, balansiranje opterećenja i mogućnosti obrnutog proksija.
  • FastCGI keširanje.
  • Podrška za uwsgi, SCGI i druge serverske protokole, sa keširanjem.
  • Gzipovanje, transformacija slika, opseg bajtova, deljeni odgovori, itd., sa FLV i MKV strimovanjem.
  • WebSockets, aktivna i cevovodna konekcija.
  • Kontrola pristupa, preusmeravanje grešaka, itd.

Sve u svemu, Nginx je moćan alat sa mnoštvom funkcionalnosti koje ga drže korak ispred konkurencije. Pošto je matična kompanija održiv posao, plaćena podrška i konsalting su dostupni za kompleksne projekte, što nekima može biti od koristi.

Da li je Nginx pravi izbor za vas?

Ako volite da dizajnirate veb aplikacije po svojoj meri, Nginx je odličan izbor. Možete dizajnirati složene i distribuirane sisteme sa snažnim keširanjem, proksiranjem i balansiranjem opterećenja, pored toga što možete koristiti Nginx za direktno isporučivanje statičkih datoteka uz nekoliko optimizacija.

I da – Nginx je spreman za HTTP/2.

Zainteresovani ste da naučite više o Nginx-u? Pogledajte ovaj fundamentalni kurs.

Caddy

Jedan od najpopularnijih novih okvira koji je nedavno privukao pažnju u zajednici otvorenog koda je Caddy.

Zamislite Caddy kao veb server sličan Nginx-u (slična sintaksa i sve), ali sve je pojednostavljeno do krajnjih granica. Na primer, integracija Let’s Encrypt za SSL se može obaviti u samo tri reda konfiguracije.

Evo zašto Caddy privlači veliku pažnju:

  • HTTPS je podrazumevano omogućen. Da, ne morate ništa da radite za instaliranje ili obnavljanje SSL sertifikata.
  • HTTP/2 dobija primarni fokus.
  • Podrazumevano rotira ključeve TLS sesijskih tiketa. Ovo čini mnogo sigurnije upravljanje TLS vezama koje nisu ranjive na Heartbleed.
  • Nema zavisnosti (to je Golang-kompajlirana binarna kodna baza koja ne zavisi ni od jedne osnovne sistemske biblioteke).
  • Podrazumevano servira statičke datoteke u trenutnom direktorijumu!
  • Može se ugraditi – može se koristiti kao biblioteka u drugim programima.

Da li je Caddy pravi izbor za vas?

Ako žudite za jednostavnošću i odbijaju vas složene konfiguracije kao kod Apache-a i Nginx-a, Caddy će vam delovati kao dašak svežeg vazduha. Međutim, najbolje funkcioniše kada ste zadovoljni podrazumevanim vrednostima. Na primer, ako želite da koristite svog SSL provajdera, imate poseban direktorijum za statičke datoteke (što je gotovo uvek slučaj), i tako dalje, prednosti nestaju.

Možete dobiti Caddy na Kamateru VM za samo 4 USD mesečno.

Lighttpd

Jedna oblast u kojoj većina modernih veb servera ne postiže dobre rezultate je iskorišćenje resursa. Lighttpd je dizajniran da prevaziđe ove izazove u okruženjima sa malo memorije i procesorske snage.

Lighttpd je izgrađen na modelu asinhronog rukovanja zahtevima i na taj način u osnovi odražava kako funkcioniše Nginx. Ali postoji jedna stvar – Lighttpd radi u jednoj niti, tako da ako imate mašinu sa većom procesorskom snagom, ona će ignorisati ostala CPU jezgra. Takođe mu nedostaju neke naprednije funkcije Nginx-a, kao što su SSL proksi, HTTP/2 i slično.

Da li je Lighttpd pravi izbor za vas?

Lighttpd je sposoban, jedno-nitni veb server koji lako može da obradi nekoliko stotina zahteva u sekundi, a istovremeno štedi sistemske resurse. Međutim, u poređenju sa alternativama, nema mnogo toga da ponudi. Dakle, možda ako vam ne trebaju sve napredne funkcije – i zaista se borite sa resursima mašine – Lighttpd vredi razmotriti.

Monkey Server

Uprkos neobičnom imenu, Monkey veb server je zanimljiv projekat koji se i dalje aktivno razvija i podržava.

Glavna prednost Monkey servera je podrška za ugrađene platforme. Morate sami da kompajlirate server, ali možete ukloniti sve nepotrebne stvari i dobiti lagan i brz veb server.

  • Prvenstveno je usmeren na Linux, ali je podržan i na macOS-u.
  • Potpuna podrška za ARM bazirane procesore.
  • Savršeno radi na Androidu, Raspberry Pi i drugim ugrađenim platformama.
  • Minimalno zauzeće resursa (100 KB bez dodataka).
  • Podržava IPv6 i TLS.
  • Radi sa CGI i FastCGI.
  • Osnovna autentifikacija, bezbednosna pravila, itd.

Da li je Monkey Server pravi izbor za vas?

Ako ciljate na ugrađene uređaje, Monkey Server je upravo ono što vam treba. Međutim, radi jednako dobro i na x86 i x86-64 arhitekturama i može se koristiti za pokretanje aplikacija velikog obima na moćnim mašinama. Ima mnogo aktivniju i živahniju zajednicu od drugih alternativnih veb servera, tako da nikada niste usamljeni ako vam zatreba pomoć.

OpenLiteSpeed

OpenLiteSpeed je verzija poslovnog veb servera otvorenog koda koji nudi LiteSpeed Technologies.

Postoji mnogo razloga da vam se dopadne OpenLiteSpeed:

  • Kompatibilan sa Apache-ovim `mod_rewrite`, što znači da ako imate postojeće Apache datoteke, migracija će biti minimalna.
  • Arhitektura vođena događajima u stilu Nginx-a, što rezultira visokim propusnim opsegom.
  • Administratorski interfejs zasnovan na GUI-ju, koji nudi prijatno iskustvo konfigurisanja.
  • Izvorni SAPI za PHP, što rezultira boljim performansama.
  • Keširanje i optimizacije Google PageSpeed Insights se primenjuju podrazumevano.

Da li je OpenLiteSpeed pravi izbor za vas?

OpenLiteSpeed ima smisla za veb lokacije zasnovane na sadržaju, posebno one koje koriste WordPress, jer su optimizacije stranica već ugrađene u server. Pošto je fino podešen za performanse PHP-a, kodne baze i projekti zasnovani na PHP-u mogu imati veliku korist.

Cherokee

Cherokee projekat je započeo kao lični interes programera, koji je prerastao u solidnu platformu za veb server. Iako nema najmodernije funkcije kao Nginx, on pruža jednostavnu, zabavnu i efikasnu alternativu glavnim veb serverima.

Najveća prednost Cherokee-a je jednostavnost – nema potrebe da se zamarate komandnom linijom za konfigurisanje servera. Prijateljski veb-bazirani interfejs dolazi u paketu i pravo je zadovoljstvo koristiti ga za one koji preferiraju „pokaži i klikni“ pristup za obavljanje stvari.

Izvor: Linode

Iako se Cherokee ne razvija baš aktivno, i dalje je dobar izbor za većinu svakodnevnih projekata. Isprobajte ga!

Zaključak

Život ne bi imao smisla bez veb servera i na sreću, sada imamo mnogo izbora. Koji je vaš omiljeni veb server otvorenog koda? Ako mislite da sam propustio neki bitan unos na listi, javite mi u komentarima i rado ću ga dodati! 🙂