V enem prejšnji članek Pogovarjali smo se, zakaj je Linux najboljša možnost za upravljanje spletnega gostitelja. Zdaj pa poglejmo nekaj odprtokodnih možnosti za spletne strežnike.
Izraz "spletni strežnik" se nanaša na strojno in programsko opremo.
S stališča strojne opreme je spletni strežnik računalnik, ki shranjuje programsko opremo spletnega strežnika in datoteke komponent spletnega mesta. (na primer dokumenti HTML, slike, tabele s slogi CSS in datoteke JavaScript). Povezan je z internetom in podpira izmenjavo fizičnih podatkov z drugimi napravami, povezanimi s spletom. V primeru programske opreme Spletni strežnik vključuje več komponent, ki nadzorujejo način dostopa spletnih uporabnikov do gostujočih datotek.
Glavna komponenta spletnega strežnika je strežnik HTTP. To je računalniški program, ki razume URL-je (spletne naslove) in podporo za HTTP (protokol, ki ga brskalniki uporabljajo za dostop do spletnih strani). Dostop do virov strežnika poteka tako, da v vrstico brskalnika vnesete ime domene ali naslov IP.
Osnovni mehanizem delovanja je naslednji. Kadar koli si uporabnik želi ogledati stran, ki gostuje na spletnem strežniku, jo brskalnik zahteva prek HTTP. Ko zahteva doseže pravi spletni strežnik (strojna oprema), strežnik HTTP (programska oprema) sprejme zahtevo, poišče zahtevano stran ali sporočilo o napaki, če ni, in rezultat prikaže tudi s protokolom HTTP.
Spletni strežniki so lahko dveh vrst:
- Statično: To je računalnik s strežnikom HTTP, ki prikazuje spletno mesto, kot je bilo naloženo.
- Dinamično: Programsko plast sestavljajo statični spletni strežnik in dodatna programska oprema, kot sta aplikacijski strežnik in mehanizem baz podatkov. Aplikacijski strežnik gostite datoteke posodobi, preden jih pošlje brskalniku prek strežnika HTTP.
Spletni strežniki ne pošiljajo samo vsebine, temveč jo lahko tudi prejmejo. To velja za spletna mesta, ki vključujejo funkcije, kot so obrazci ali nalaganje datotek.
Da bi izboljšali interakcijo uporabnikov s spletnimi mesti, številni strežniki imajo podporo za programske jezike ki vam omogočajo izvajanje operacij, kot so pošiljanje obrazcev po e-pošti, matematične operacije, izvajanje iskalnih funkcij itd.
Glede na razpoložljive statistike 80% spletnih strani se izvaja z uporabo odprtokodnih spletnih strežnikov.
Razvrstitev 5 najbolj uporabljenih spletnih strežnikov je razdeljena na naslednji način:
- Apači 37,2%
- Nginx 32,4 %
- Cloudflare (lastniška) 15,0%
- Microsoft IIS (lastniški) 7,3%
- LiteSpeed 6,8%
Odprtokodni spletni strežniki. Nekaj možnosti
Apache HTTP Server
Z zgodovino 25 let za seboj, tega zanesljivega strežnika Ima različice za Linux, Windows in Mac. Zgrajena je z uporabo modularne arhitekture, ki omogoča dodajanje funkcij po potrebi.
Ima popolno dokumentacijo in splet je zaradi starosti in priljubljenosti poln vadnic o tem, kako ga konfigurirati.
nginx
Zasnovan za podporo več hkratnih povezav, biti postreženr je zgrajen z uporabo asinhrone arhitekture, ki jo vodijo dogodki. Vem za katero je značilna učinkovita raba virov in lahka prilagodljivost.
lighttpd
Ta strežnik Zanj je značilen: nizka poraba pomnilnika, majhno povpraševanje po CPU virih in hitra izvedba. Zasnovan je tudi z arhitekturo, ki se odziva na dogodke, in podpira več hkratnih povezav.
Spletni strežnik Lighthttpd ima podporo za FastCGI, SCGI, Auth, izhodno stiskanje in prepisovanje URL-jev
Caddy 2
One,es novejših projektov je napisan v jeziku GO in imprivzeto za protokol HTTPS tako da za namestitev in podaljšanje potrdil SSL ni treba storiti ničesar. Zaradi varnostne politike je manj ranljiv za napade tipa Heartbleed.
Ker vam ni treba uporabljati knjižnic gostiteljskega OS lahko ga namestite brez skrbi glede težav z odvisnostjo.
To je programska oprema za tiste, ki želijo ni treba skrbeti za nastavitve. Če potrebujete prilagodljivost, boste morali iskati drugje.