Tinklo žargonu kalbant, serveris yra kompiuteris, kuris naudotojams arba klientų kompiuteriams pateikia įvairią informaciją. Paprastai serveris daugeliui klientų atlieka tik kelis veiksmus. Kiekviena serverio atliekamų veiksmų rūšis vadinama paslauga. Paslaugomis naudojasi kiti kompiuteriai, kurie vadinami klientais. Kliento ir serverio santykiai vadinami kliento ir serverio santykiais. Pavyzdžiui, Vikipedija turi žiniatinklio serverius, kurie teikia žiniatinklio puslapių siuntimo internetu paslaugą. Jūsų kliento kompiuteris bendrauja su Vikipedijos žiniatinklio puslapių paslauga, kad gautų žiniatinklio puslapius. Serveryje taip pat gali būti talpinami interneto žaidimai, dalijamasi failais ir suteikiama prieiga prie periferinės įrangos, pavyzdžiui, spausdintuvų. Paprastai tariant, atskiri kompiuteriai yra prijungti prie kai kurių galingų kompiuterių, vadinamų serveriais. Juose saugomi failai ir informacija interneto svetainės pavidalu. Naudodamiesi interneto ryšiu, įvairūs naudotojai bet kurioje pasaulio vietoje gali pasiekti šiuos failus.

Kad serveriai ir klientai galėtų bendrauti tarpusavyje, jie turi būti prijungti prie tinklo ir naudoti tą patį protokolą. Tinkluose protokolas yra nustatytas būdas, kuriuo mašinos gali bendrauti su kitomis mašinomis. Tai kaip kalba. Pavyzdžiui, Vikipedijos serveris naudoja HTTP protokolą, kad galėtų siųsti tinklalapius į jūsų kompiuterį, o jūsų kompiuteris naudoja HTTP protokolą, kad paprašytų Vikipedijos puslapių.

Paprastai serveriai yra specialiai pagaminti taip, kad būtų galingesni ir patikimesni, ir yra daug brangesni už įprastus kompiuterius. Kartais serveriai gali būti klasteriniai, t. y. daug serverių dirba kartu, kad atliktų vieną paslaugą.

Serveris gali sulėtėti, jei vienu metu prie serverio jungiasi per daug žmonių ir dėl to atsiranda didelė apkrova. Jis taip pat gali neatlaikyti didelės apkrovos, todėl automatiškai išsijungs.

Peer-to-peer sistemoje kiekvienas kompiuteris yra ir klientas, ir serveris kitiems kompiuteriams. Tai dažniausiai taikoma dalijantis failais ir VOIP. Tačiau tai gali padėti bandymams piratauti.

Tipinės serverių operacinės sistemos yra "Linux", "FreeBSD", "NetBSD" ir "OpenBSD". Skirtingai nei kiti kompiuteriai, serveris dažnai neturi monitoriaus, klaviatūros ar pelės. Kai serveriui nereikia atlikti labai daug darbų, serverio programinė įranga gali veikti kompiuteryje, kuriame atliekami ir kiti darbai.

Serverio programinė įranga ir paslaugos

Serveris apima dvi pagrindines dalis: aparatinę įrangą (komponentus) ir programinę įrangą (serverio programas). Serverio programinė įranga vykdo konkrečias paslaugas arba protokolus. Dažniausios serverių teikiamos paslaugos:

  • Žiniatinklio (web) serveriai — siunčia tinklalapius per HTTP/HTTPS (pvz., Apache, Nginx).
  • El. pašto (mail) serveriai — priima ir siunčia laiškus (SMTP, IMAP, POP3).
  • Failų serveriai — leidžia saugoti ir dalytis failais tinkle (SMB, NFS).
  • Duomenų bazių serveriai — valdo duomenis ir atlieka užklausas (MySQL, PostgreSQL).
  • DNS serveriai — verčia domenų vardus į IP adresus.
  • Žaidimų serveriai — tvarko daug žaidėjų sesijų ir vartotojų ryšius.
  • Spausdintuvų ir kitų periferinių įrenginių prieigos serveriai — centralizuoja aksesus ir eilę spausdinimui.

Serverių tipai pagal naudojimą ir diegimą

  • Dedikuoti serveriai — fizinis serveris skirtas vienam klientui ar paslaugai.
  • Bendro naudojimo (shared) serveriai — keli vartotojai dalinasi tuo pačiu fiziniu serveriu ir jo resursais.
  • VPS (virtualus privatus serveris) — vienas fizinis serveris padalytas į kelis atskirus virtualius serverius.
  • Debesų (cloud) serveriai — paslaugos, teikiamos per virtualius resursus iš paslaugų teikėjų (AWS, Azure, Google Cloud), suteikia skalę ir lankstumą.
  • Klasteriai ir aukštos prieinamumo (HA) sistemos — kelios mašinos dirba kartu su įjungtu balansavimu ir atsarginėmis kopijomis, kad užtikrintų nenutrūkstamą paslaugą.
  • Edge serveriai — išdėstyti arti vartotojų, kad sumažintų delsą ir pagreitintų turinio pristatymą.

Aparatinė įranga ir fiziniai formatai

Serverių aparatinė įranga dažnai skiriasi nuo asmeninių kompiuterių: galingesni procesoriai, daugiau atminties (RAM), redundanti power supply, greiti ir dideli diskų masyvai (SSD/HDD), RAID konfigūracija. Populiarūs fiziniai formatai:

  • Tower — panašūs į stalinius korpusus, dažni mažuose biuruose.
  • Rack — įrengiami į spintas (19 colių) duomenų centruose.
  • Blade — moduliai, leidžiantys sutalpinti daug serverių į mažą plotą.
  • NAS/Storage — specializuotos saugyklos failams.

Kaip serveriai veikia techniniu lygiu

Serveriai bendrauja su klientais per tinklą naudodami tam tikrus protokolus ir prievadus (ports). Pavyzdžiui, HTTP dažniausiai naudoja prievadą 80, HTTPS — 443, SSH — 22, SMTP — 25, FTP — 21, DNS — 53. Serverio operacinė sistema ir serverio programinė dalis klauso užklausų tam tikrame prievade ir atsako pagal protokolą.

Patikimumas, našumas ir mastelinis didinimas

Norint užtikrinti, kad serveris veiktų patikimai:

  • Naudojami klasteriai ir load balancer (apkrovos balansavimas) – užklausos paskirstomos tarp kelių serverių.
  • Įdiegiamos atsarginės kopijos ir Failover mechanizmai – esant gedimui, paslauga persijungia į atsarginį mazgą.
  • Naudojamos RAID matricos ir greiti diskai – geresnis prieinamumas ir spartesnis įkėlimas.
  • Stebėjimas (monitoring) – resursų naudojimas, atsakymo laikas ir klaidos stebimos realiu laiku.

Saugumas

Serverių saugumui svarbu:

  • Uždaryti nereikalingus prievadus ir naudoti ugniasienes (firewalls).
  • Įdiegti SSL/TLS sertifikatus, kad užtikrinti šifruotą ryšį (HTTPS).
  • Naudoti stiprias autentifikacijos priemones (slaptažodžiai, dviejų faktorių autentifikacija).
  • Reguliariai atnaujinti programinę įrangą ir operacinę sistemą, taisyti saugumo spragas.

Paprastos problemos ir jų sprendimas

  • Per didelė apkrova – gali sulėtinti atsakymus arba sukelti paslaugos atsijungimą; sprendimas: skalavimas, caching, optimizacija.
  • Trūksta resursų (RAM/CPU) – priskirti daugiau resursų, perkelti į galingesnį serverį arba virtualizuoti.
  • Tinklo problemos – trikdžiai tarp klientų ir serverio; naudoti redundantiškus tinklo ryšius ir stebėjimo priemones.
  • Datuose atsiradusios klaidos – atkurti iš atsarginių kopijų, naudoti versijavimą ir monitoringo sistemas.

Kaip pasirinkti serverį

Renkantis serverį būtina įvertinti:

  • Kiek vartotojų ir kokia apkrova planuojama;
  • Kokios paslaugos bus teikiamos (tinklalapiai, duomenų bazės, failų saugyklos ir kt.);
  • Ar reikalingas aukštas prieinamumas ir automatinis atstatymas po gedimo;
  • Biudžetą — dedikuotas, VPS ar debesų sprendimas;
  • Saugumo reikalavimus ir atitiktis teisės aktams (pvz., duomenų apsauga).

Apibendrinant: serveris yra specializuotas kompiuteris arba programinė aplinka, kuri teikia paslaugas kitiems įrenginiams tinkle. Jie gali būti labai paprasti arba sudėtingi (su aukštos prieinamumo sprendimais), tačiau visuomet reikalauja priežiūros, saugumo ir tinkamo planavimo, kad veiktų patikimai ir našiai.