Névjegyek

Hogyan működik a webszerver a számítógépen. Mi az a webszerver? Tilos - itt nem tartózkodhat

Mire való a szerver, és mikor érdemes megvenni a cége számára?

Először is tisztázzuk ezt szerver az a hardver, amely a szervert használja szoftver ... Más számítógépekkel (kliensekkel) való együttműködésre van optimalizálva. A szerver ügyfelek lehetnek számítógépek, telefonok, faxok, nyomtatók és minden más, az internethez csatlakozó eszköz. Minél több információt kíván tárolni a szerver hardverén, annál erősebbnek kell lennie a szervernek. Mi a célja a szerver bérlésének? Bővebben a blogbejegyzésben HyperHost.

A vállalatok kiszolgálókat használnak általános hozzáférés az összes alkalmazott számára bizonyos információkat és közös használatú elérhető erőforrások. Annak érdekében, hogy a szerver jól működjön, felvesznek egy rendszergazdát. Berendezéseket állít fel a munkához, gyárt biztonsági mentés, megszünteti a felmerült problémákat. A szerver helyes működése közvetlenül függ a rendszergazda magas színvonalú és professzionális munkájától.... Felhívjuk figyelmét, hogy ingyenes technikai támogatást biztosítanak a vállalat szolgáltatásainak minden felhasználója számára, tarifától függetlenül.

Ennek ellenére sokan úgy vélik, hogy nem szükséges saját szerverrel rendelkezni, használhat egy közönséges számítógépet. De szeretnénk figyelmeztetni, hogy ez egy nagyon rövidlátó döntés. A számítógép nem tudja elvégezni a szerver által végrehajtott feladatok nagy részét. Először is, a szerver nemcsak információk tárolása, hanem nagyszámú egyidejű kérés végrehajtása is, amelyekkel a rendes PC nem tud megbirkózni, és kritikus pillanatban egyszerűen elveszíti az összes szükséges információt.

Ha vállalkozása ígéretes jövőért dolgozik, akkor gondolkodjon a szerver kiválasztásán.

Először is kitaláljuk, milyen típusú szerverek vannak, az elvégzett funkcióktól függően.

Mail szerverközvetlenül részt vesz az átvételben és a feladásban Email... Levelet küld egy e -mail címre, de először a levelezőszerverre kerül, ahol feldolgozza. A címzett címe indexelésre kerül, és a levél elküldésre kerül. Ez a folyamat több levelező szervert is magában foglal szükséges információ... A népszerű levelezőszerverekről (Exim, Postfix, Sendmail) a cikkben olvashat.

Fájlszervertárolja az összes hálózati fájlt, amely más számítógépekről érhető el. A fájlcseréhez az FTP protokollt használják, amellyel a felhasználó feltöltheti a hálózaton lévő összes fájlt (képeket, videókat, hangokat). Fájlszerver bármely számítógép, amely sok lemezterülettel rendelkezik az információk tárolására, figyelembe vehető.

web szerver- az internethez csatlakozó szerver, amely HTTP protokollon keresztül fogadja a felhasználói kéréseket. A weben található összes webhely a webszervereken található. Ez a fajta szerver közvetlen vezető a webhely és az ügyfelek között. A webszerver megkapja a kérést, majd feldolgozza azt, és létrehozza az eredményt (fájl vagy hipertext). Alapvetően a web hosting és a webszerver azonos fogalmak. Nginx webszerver és apache - mi ez és hogyan működik ez a csomag? A válasz erre a kérdésre.

Adatbázis -kiszolgálók.A legtöbb program adatbázisokat használ. Ezt a nézetet a szerver kliens-szerver rendszer segítségével biztosít hozzáférést az adatokhoz. A legnépszerűbb adatbázis -kiszolgálók az SQL SERVER (Microsoft), az SQL BASE SERVER, az Oracle SERVER (Oracle Corporation), az IBM DB2, az Informix. Különféle operációs rendszereken futnak, például MSDOS, OS / 2, Xenix, Unix.

Proxy szerver- mondhatjuk, hogy ez ugyanaz a webszerver, de a látogató helyett a hálózaton kér. Ez lényegében egy programcsomag. Csatlakozik egy proxy szerverhez, kérést küld neki, és az információt keres Önnek, bizonyos esetekben megváltoztatja azt. A proxykiszolgálóval végzett munka lehetővé teszi az ügyfél számítógépének védelmét rosszindulatú, legyen névtelen a hálózaton, korlátozza a hozzáférést bizonyos erőforrásokhoz, vagy fordítva, kerülje el a tiltásokat. Egyszerű proxy szerver telepítése a VPS -re 1 perc múlva, további részletek.

Játék szerverkommunikációt biztosít az ügyfelek között a hálózaton. Az ügyfelek interakcióba lépnek a játékban és kommunikálnak egymással. Ez a szerver információt fogad, feldolgozza a kéréseket, frissíti a rendszert, és elküldi az eredményeket a játék minden résztvevőjének. Alapvetően a játékkiszolgálókat hosting cégek üzemeltetik.

Manapság nagyon nehéz elképzelni egy vállalkozás munkáját szerver használata nélkül. Ebben a munkaigényes folyamatban minden típusú szerver részt vesz.

Az okok, amelyek alapján eldöntheti, hogy szükséges -e a cége számára?

  • Szeretné rendszerezni és központosítani a vállalatában lévő összes információt.
  • Sok alkalmazottnak csatlakoznia kell a hálózathoz, függetlenül a tartózkodási helyüktől.
  • Sok tárhelyre van szüksége.
  • Olyan szoftver bevezetését tervezi, amely elősegíti vállalkozása növekedését.
  • Vállalata fejlődik és növekszik, az alkalmazottak száma folyamatosan növekszik.
  • A vállalkozásod nem túl nagy, de szeretnél igazi profinak látszani.

A vállalat sikeres munkája a szerver helyes megválasztásán múlik, mert a szerverek segítenek megszervezni a vállalkozás zavartalan működését, és külön részlegeket kapcsolnak össze, például a különböző városokban található részlegeket.

A cég szakemberei HyperHost szívesen kiválasztja a legoptimálisabb fizikai vagy minden szempontból szervert, és biztosítja projektjei stabilitását. Az összehasonlítás segít abban is, hogy a megfelelő választást megtegye, és a megfelelő szolgáltatást válassza a céljától függően.

Operációs rendszert kell választania a szerveréhez? Ez segít a helyes döntés meghozatalában és az egyes operációs rendszerek összes képességének értékelésében. A Linux szerverek vezérlőpaneleiről.

42788 idő 18 Megtekintve ma

A szerver egyfajta program, készülék vagy hardver és szoftver komplexum, amely valamilyen szolgáltatást valósít meg. A szolgáltatás viszont olyan szolgáltatás, amely elvégzi az ügyfél által kért bizonyos műveleteket. Nézzük meg közelebbről a szerver működését.

Az ügyfél-szerver séma összetevői

Lássuk, miből áll maga a szerver, és milyen külső összetevők nélkül nem megy. Először is, a szerver elveszíti értelmét ügyfelek hiányában. A szerver alapelve, hogy kielégítse az ügyfelek igényeit. Az ügyfél megfogalmazza a szerverre vonatkozó követelményeket, és elvállalja munkájának egy részét. Ezért gyakrabban nem csak a szerverről beszélnek, hanem a kliens-szerver rendszerről is. Az ügyfél kéréseket intéz a szerverhez, amelyeken keresztül kifejezi akaratát. Ezért a rendszer következő, második összetevője az lesz Hivatalos nyelv amelyre ezek a kérések vonatkoznak. Ezen nyelvek nagyon sokfélék, és az egyik vagy másik választás közvetlenül a szervertől függ. A szerverre irányuló kéréseket valahogy el kell juttatni. A harmadik elem a kliens és a szerver közötti kommunikációs csatorna, amelyen keresztül adatokat továbbítanak. Ez leggyakrabban vagy helyi hálózat, vagy az internet, vagy egy gép helyi kapcsolatai. A szervernek valahogy el kell fogadnia és fel kell ismernie a bejövő kérést. A fogadó eszköz az ún eleje, több portot jelent, amelyeket a szerver folyamatosan (vagy nem folyamatosan) hallgat. Az elfogadott kéréseket elküldi a kiszolgálószoftvernek, ahol a szerver programozásának megfelelően dolgozza fel. És a beérkezett kéréstől függően ez vagy az a szolgáltatás elindul egy vagy másik kezdeti adatokkal. A szolgáltatások lesznek a rendszer utolsó összetevői. A szolgáltatás befejezése után a végrehajtás eredményét ugyanazon kommunikációs csatornán keresztül elküldjük az ügyfélnek. Vagy ha a szolgáltatás interaktív, akkor működése során intenzív adatcsere történik az "ügyfél-szerver" csatornán keresztül.

Mire való a szerver?

Most az ügyfél-szerver rendszerek fő célja, hogy a terhelést az ügyfélgépekről a szervergépre helyezze át. Ezért számítási teljesítmény egy normál szerver pár nagyságrenddel magasabb, mint egy normál otthoni számítógépé. De néha a rendszer működésének ilyen szervezése a teljes terhet az ügyfelekre ruházza, és a szerver szolgálja munkájuk és interakciójuk megszervezését. Vagy éppen ellenkezőleg, a szerver elvégzi az összes számítást, és az ügyfelek csak arra szolgálnak, hogy információt nyújtsanak a felhasználónak. Amint láthatja, az ügyfél-szerver modell használatának számos módja van.

A modell előnyei és hátrányai

Az előnyök nyilvánvalóak - a szerver működésének elve biztosítja a rendszerrel való munkavégzés kényelmét, a könnyű kezelhetőséget és a gépek terhelésének helyes elosztását. A hátránya a lekérdezés nyelve és a kapcsolódó összetevők. Ha egy felhasználó véletlenül vagy szándékosan helytelenül megfogalmazott kérést küld a szervernek, akkor ha a programozó nem látta előre ezt a hibát, a rendszer összeomlik. A hozzáértő emberek szándékosan helytelen lekérdezéseket írnak le, hogy az időjárás -előrejelzést biztosító rendszer le tudja vonni a támadónak például az összes felhasználó hitelkártya -adatait (ha természetesen ugyanaz a szerver felelős a kártyaadatokért) és az időjárás -előrejelzés). És a boldog támadó először elmegy, és átutalja magának a szolgáltatás összes felhasználójának összes pénzét, majd hosszú ideig és elgondolkodva menekül a "K" osztálytól, amely ezt a bűncselekményt vizsgálja.

Biztonság

A rendszer munkájának megszervezésére szolgáló kliens-szerver modell nagyon kényelmes dolog a programozás, a kezelés és az üzemeltetés terén. De egy ilyen rendszer használatához a működő áramkör minden összetevőjét meg kell védeni mind a betolakodóktól, mind a felhasználóktól, akik nem ismerik a szerver működését, de tetszőleges sorrendben megnyomják az összes elérhető gombot. Annak érdekében, hogy a rendszer tárolhasson, továbbíthasson és feldolgozhasson fontos adatokat, például a fizetési kártyákkal, a rendszerrel kapcsolatos információkat információ biztonság a szervernek meg kell felelnie bizonyos jogi követelményeknek.

Bármely berendezés, beleértve a szerverberendezéseket is, néha kiszámíthatatlanul működik. Egyáltalán nem mindegy, hogy ez a berendezés új, vagy már több éve teljes terheléssel működik.

Meghibásodás esetei és helytelen munka sok van, és a probléma diagnosztizálása gyakran kihívást jelent.

Az alábbiakban néhány érdekes és nem triviális esetről fogunk beszélni.

Hibaelhárítás

A probléma regisztrálása leggyakrabban azután következik be, hogy az ügyfelek a jegyrendszeren keresztül felveszik a kapcsolatot a műszaki támogatással.

Ha egy ügyfél kérése érkezik tőlünk, aki fix konfigurációjú dedikált szervereket bérel tőlünk, diagnosztikát végzünk annak kiderítésére, hogy a probléma nem szoftver jellegű.

Az ügyfelek általában önállóan oldják meg a szoftverproblémákat, azonban mindenesetre megpróbáljuk felajánlani rendszergazdáink segítségét.

Ha kiderül, hogy a probléma hardver (például a szerver nem látja a részt véletlen hozzáférésű memória), akkor ebben az esetben mindig hasonló szerverplatformot tartunk fenn.

Ha hardverproblémát észlelünk, akkor a meghibásodott szerverről átvisszük a lemezeket a biztonsági mentésre, és a hálózati berendezések kis konfigurálása után a szerver elindul. Így az adatok nem vesznek el, és az állásidő nem haladja meg a hozzáféréstől számított 20 percet.

Példák a problémákra és azok megoldására

Hálózati hiba a szerveren

Lehetséges, hogy miután a lemezeket a sikertelen kiszolgálóról a biztonsági mentésbe helyezi át, a hálózat a kiszolgálón leáll. Ez általában Linux operációs rendszerek, például Debian vagy Ubuntu használatakor történik.

A helyzet az, hogy az első telepítés során operációs rendszer, A hálózati kártyák MAC -címei rögzítésre kerülnek speciális fájl/etc/udev/rules.d/70-persistent-net.rules címen található.

Amikor az operációs rendszer elindul, ez a fájl leképezi az interfészneveket MAC -címekre. Amikor a szervert tartalékra cseréli, a hálózati interfészek MAC -címei már nem egyeznek, ami a hálózat működésképtelenségéhez vezet a szerveren.

A probléma megoldásához el kell távolítania megadott fájltés indítsa újra a hálózati szolgáltatást, vagy indítsa újra a szervert.

Az operációs rendszer, ha nem találja meg ezt a fájlt, automatikusan generál egy hasonlót, és leképezi az interfészeket a hálózati kártyák új MAC -címeire.

Ezt követően nincs szükség az IP -címek újrakonfigurálására, a hálózat azonnal működni kezd.

Lebegő fagyási probléma

Egyszer egy szerver érkezett hozzánk diagnosztikára, és működés közben véletlenszerűen lefagy. Ellenőriztük a BIOS és IPMI naplókat - üres, nincs hiba. Feszültségvizsgálatnak vetettük alá, minden processzormagot 100%-kal terhelve, egyidejű hőmérséklet -szabályozással - 30 perc működés után szorosan lefagyott.

Ugyanakkor a processzor normálisan működött, a hőmérséklet terhelés alatt nem haladta meg a szabványos értékeket, és minden hűtő jó állapotban volt. Világossá vált, hogy a probléma nem túlmelegedés.

Ezután ki kellett zárni a RAM -modulok esetleges meghibásodásait, ezért a szervert memóriapróbára állítottuk a meglehetősen népszerű Memtest86 +segítségével. Körülbelül 20 perc elteltével a szerver a várakozásoknak megfelelően lefagyott, és hibákat adott ki az egyik RAM -modulon.

A modult újat cserélve újra teszteltük a szervert, de fiaskó előtt álltunk - a szerver ismét lefagyott, hibákat bocsátott ki egy másik RAM modul miatt. Le is cserélte. Egy újabb teszt - ismét letette a kagylót, ismét hibákat adva a RAM -ban. A RAM nyílások alapos vizsgálata nem tárt fel semmilyen hibát.

Maradt egy lehetséges bűnös a problémában - processzor... A tény az, hogy a RAM vezérlő pontosan a processzoron belül található, és ő volt az, aki meghibásodhat.

A processzor eltávolítása után katasztrófát találtunk - az aljzat egyik csapja eltört a felső részen, a csap törött hegye szó szerint a processzor érintkezőpárnájához tapadt. Ennek eredményeként, amikor nem volt terhelés a kiszolgálón, minden megfelelően működött, de amikor a processzor hőmérséklete emelkedett, az érintkező megszakadt, ezáltal leállt a RAM -vezérlő normál működése, ami lefagyott.

Végül a probléma megoldódott az alaplap cseréjével, mivel sajnos nem tudjuk helyreállítani a törött foglalatcsapot, és ez már a szervizközpont feladata.

A látszólagos szerver lefagy az operációs rendszer telepítése során

Elég vicces esetek merülnek fel, amikor a hardvergyártók elkezdik megváltoztatni a hardver architektúráját, lemondva a régi technológiák támogatásáról az újak helyett.

Egy felhasználó azzal a panasszal fordult hozzánk, hogy a szerver lefagy az operációs rendszer telepítésekor Windows Server 2008 R2. A telepítő sikeres elindítása után a szerver nem válaszolt az egérre és a billentyűzetre a KVM konzolon. A probléma lokalizálásához fizikai egeret és billentyűzetet kötöttünk a szerverhez - minden ugyanaz, a telepítő elindítja és leállítja a választ a beviteli eszközökre.

Abban az időben ez a szerver volt az egyik első a Supermicro által gyártott X11SSL-f alaplap alapján. V BIOS beállítások volt egy érdekes Windows 7 telepítési elem, amely letiltásra került. Mivel a Windows 7, 2008 és 2008 R2 ugyanazon a telepítőn van telepítve, ezt az opciót Engedélyezésre állítjuk, és csodálatos módon az egér és a billentyűzet végül működött. De ez csak az epika kezdete volt az operációs rendszer telepítésével.

A telepítéshez használt lemez kiválasztásakor nem jelent meg lemez, ráadásul hiba történt, amely további illesztőprogramok telepítését igényelte. Az operációs rendszer telepítése USB -pendrive -ról és gyors keresés az interneten megmutatta, hogy ez a hatás akkor jelentkezik, ha a telepítő nem találja az USB 3.0 vezérlő illesztőprogramját.

A Wikipédia arról számolt be, hogy a probléma megoldása a BIOS támogatás USB 3.0 (XHCI vezérlő). Amikor megnyitottuk az alaplap dokumentációját, meglepetés várt ránk - a fejlesztők úgy döntöttek, hogy teljesen elhagyják az EHCI (Enhanced Host Controller Interface) vezérlőt az XHCI (eXtensible Host Controller Interface) javára. Más szóval, az alaplap összes USB -portja az USB portok 3.0. És ha letiltja az XHCI vezérlőt, akkor a beviteli eszközöket is letiltjuk, ami lehetetlenné teszi a szerverrel való munkát és ennek megfelelően az operációs rendszer telepítését.

Mivel a szerverplatformok nem voltak CD / DVD -meghajtókkal felszerelve, a probléma egyetlen megoldása az volt, hogy az illesztőprogramokat közvetlenül az operációs rendszer disztribúciójába integrálták. Csak az USB 3.0 vezérlő illesztőprogramjainak integrálásával és újratelepítésével telepítési kép, telepíthettük a Windows Server 2008 R2 -t erre a szerverre, és ez az eset szerepel a tudásbázisunkban, hogy a mérnökök ne pazarolják az időt eredménytelen kísérletekre.

Még viccesebb is, hogy vannak olyan esetek, amikor az ügyfelek behoznak bennünket a vendéglátáshoz szükséges berendezésekhez, és az nem a várt módon viselkedik. Pontosan ez történt a Dell PowerVault lemezburkolatával.

Az eszköz kettős tárolórendszer lemezvezérlőkés hálózati interfészek az iSCSI protokollhoz. Ezen interfészeken kívül van egy MGMT port a távoli kezeléshez.

A hosztolt berendezésekkel kapcsolatos szolgáltatásaink között van egy "10 Mbit / s -os kiegészítő port" speciális szolgáltatás, amelyet akkor rendelnek meg, ha szükség van a távoli szerverkezelés eszközeinek csatlakoztatására. Ezeknek az alapoknak különböző nevei vannak:

  • ILO a Hewlett-Packardtól;
  • IDrac a Dell -től;
  • IPMI a Supermicro cégtől.
Funkcióik nagyjából megegyeznek - figyelik a szerver állapotát és a távoli konzolhoz való hozzáférést. Ennek megfelelően nincs szükségük nagy csatorna sebességre - a 10 Mbps elég a kényelmes munkavégzéshez. Ezt a szolgáltatást rendelte meg az ügyfél. Fektettük a megfelelő réz keresztcsatlakozást, és konfiguráltuk hálózati berendezéseink portját.

A sebességkorlátozáshoz a portot egyszerűen 10BASE-T-ként kell konfigurálni, és a maximális sebesség 10 Mbps. Miután minden készen állt, csatlakoztattuk a lemezpolc MGMT portját, de az ügyfél szinte azonnal jelentette, hogy semmi sem működik neki.

A kapcsolóport állapotának ellenőrzése után kellemetlen feliratot találtunk: "A fizikai kapcsolat leállt". Egy ilyen felirat azt jelzi, hogy probléma van a kapcsoló és a hozzá csatlakoztatott ügyfélberendezés közötti fizikai kapcsolattal.

Rosszul krimpelt csatlakozó, törött csatlakozó, törött magok a kábelben - ez egy kis lista azokról a problémákról, amelyek a kapcsolat hiányához vezetnek. Természetesen mérnökeink azonnal vettek egy csavart érpárt, és ellenőrizték a csatlakozást. Minden mag tökéletesen gyűrűzett, a kábel mindkét vége tökéletesen össze volt csípve. Ezenkívül, ha egy teszt laptopot csatlakoztatott ehhez a kábelhez, 10 Mbit / s kapcsolatot kaptunk, ahogy kell. Világossá vált, hogy a probléma az ügyfél hardver oldalán van.

Mivel mindig megpróbálunk segíteni ügyfeleinknek a problémák megoldásában, úgy döntöttünk, hogy kitaláljuk, mi okozza pontosan a link hiányát. Gondosan megvizsgáltuk az MGMT port csatlakozóját - minden rendben van.

A gyártó weboldalán megtaláltuk az eredeti használati utasítást, hogy tisztázzuk, lehetséges -e szoftveres oldalról „eloltani” ezt a portot. Ilyen lehetőségre azonban nem gondoltak - a kikötőt mindenesetre automatikusan felemelték. Annak ellenére, hogy az ilyen berendezéseknek mindig támogatniuk kell az Auto -MDI (X) - más szóval helyes meghatározni, hogy melyik kábel csatlakozik: normál vagy crossover, kísérletileg összenyomtuk a crossover -t, és ugyanahhoz a kapcsolóporthoz kötöttük. Megpróbáltuk rákényszeríteni a duplex paramétert a kapcsolóportra. A hatás nulla volt - nem volt link, és az ötletek már kifogytak.

Ezen a ponton az egyik mérnök teljesen ellentmondó feltételezést fogalmazott meg, miszerint a berendezés nem támogatja a 10BASE-T-t, és csak 100BASE-TX vagy akár 1000BASE-X sebességgel fog működni. Általában bármelyik port, még a legolcsóbb eszközön is, kompatibilis a 10BASE-T-vel, és először a mérnök feltételezését „fantáziaként” elutasították, de kétségbeesésükből úgy döntöttek, hogy megpróbálják 100BASE-TX-re váltani a portot.

Meglepetésünk nem ismert határokat, a link azonnal felment. A 10BASE-T támogatás hiányának oka az MGMT porton továbbra is rejtély. Az ilyen eset nagyon ritka, de van helye.

Az ügyfél nem kevésbé lepődött meg, mint a miénk, és nagyon megköszönte a probléma megoldását. Ennek megfelelően elhagyták a portot 100BASE-TX-ben, és a beépített sebességkorlátozó mechanizmus segítségével közvetlenül korlátozták a port sebességét.

Hűtőturbina hiba

Egyszer egy ügyfél jött hozzánk, kérte, hogy távolítsa el a szervert, és vigye a szolgáltatási területre. A mérnökök mindent megtettek, és békén hagyták a felszereléssel. Eltelt egy óra, a második, a harmadik - az ügyfél folyamatosan elindította / leállította a szervert, és megkérdeztük, mi a probléma.

Kiderült, hogy a Hewlett-Packard által gyártott szerver a hat hűtőturbina közül kettőt meghibásított. Ugyanakkor a szerver bekapcsol, hűtési hibát jelez és azonnal kikapcsol. Ugyanakkor a kritikus szolgáltatásokat tartalmazó hipervizor található a szerveren. A szolgáltatások normál működésének helyreállításához a virtuális gépek sürgős áttelepítését kellett végrehajtani egy másik fizikai csomópontra.

Úgy döntöttünk, hogy a következő módon segítjük az ügyfelet. Általában a szerver egyszerűen felismeri, hogy minden rendben van a hűtőventilátorral, egyszerűen leolvasva a fordulatszámot. Ugyanakkor a Hewlett-Packard mérnökei természetesen mindent megtettek annak érdekében, hogy az eredeti járókerék ne cserélődjön analógra-nem szabványos csatlakozóra, nem szabványos kivezetésre.

Egy ilyen alkatrész eredeti ára körülbelül 100 dollár, és nem lehet csak úgy megvenni - meg kell rendelni külföldről. Szerencsére az interneten találtak egy áramkört eredeti pinoutdal, és megtudták, hogy az egyik csap csak a motor másodpercenkénti fordulatszámának leolvasásáért felelős.

A többi technológia kérdése volt - elvittek pár vezetéket a prototípus elkészítéséhez (véletlenül kéznél voltak - egyes mérnökeink szeretik az Arduino -t), és egyszerűen a szomszédos működő turbinák csapjait kötötték össze a csatlakozókkal rendelés. A szerver elindult, és az ügyfél végre áttelepítette a virtuális gépeket, és elindította a szolgáltatásokat.

Természetesen mindez kizárólag az ügyfél felelősségére történt, végül azonban egy ilyen nem szabványos lépés lehetővé tette az állásidő minimálisra csökkentését.

Hol vannak a lemezek?

Bizonyos esetekben a probléma oka néha annyira nem triviális, hogy nagyon sokáig tart megtalálni. És így történt, amikor egyik ügyfelünk panaszkodott a véletlen lemezekről és a szerver lefagyásáról. Hardverplatform - Supermicro 847 tokban (4U formátum), ketrecekkel 36 meghajtó csatlakoztatásához. A szerver három azonos Adaptec RAID vezérlőt tartalmazott, mindegyikhez 12 lemez volt csatlakoztatva. A probléma idején a szerver nem látott véletlen számú lemezt, és leállt. A szervert kivonták a gyártásból és megkezdték a diagnosztikát.

Az első dolog, amit sikerült kiderítenünk, hogy a lemezek csak egy vezérlőn estek le. Ugyanakkor a "leesett lemezek" eltűntek a listáról a natív Adaptec felügyeleti segédprogramban, és csak akkor jelentek meg újra ott, amikor a szerver teljesen kikapcsolt, majd újra csatlakozott. Az első dolog, ami eszembe jutott, a vezérlő szoftver volt. Mindhárom vezérlő kissé volt különböző firmware, ezért úgy döntöttek, hogy egy vezérlőprogram -verziót telepítenek minden vezérlőre. Kész, maximális terhelési módban hajtottuk a szervert - minden a várt módon működik. Miután a problémát megoldottnak jelölte, a szervert visszaküldték az ügyfélnek az éles verzióba.

Két hét múlva ismét ugyanazzal a problémával kell kezelni. Úgy döntöttek, hogy a vezérlőt hasonlóra cserélik. Befejezve, villogva, csatlakoztatva, teszteket végezve. A probléma továbbra is fennállt - néhány nap múlva az új vezérlő összes lemeze kiesett, és a szerver biztonságosan leállt.

Újra telepítettük a vezérlőt egy másik nyílásba, kicseréltük a hátlapot és a SATA kábeleket a vezérlőről a hátlapra. Egy hét teszt és ismét a lemezek estek ki - a szerver ismét lefagyott. Az Adaptec ügyfélszolgálatával való kapcsolatfelvétel sikertelen volt - mindhárom vezérlőt ellenőrizték, és nem találtak problémát. Lecserélték alaplap a platform szinte a semmiből történő újjáépítésével. Mindent, ami a legkisebb kétséget is keltette, újat cserélték. És a probléma újra megjelent. Misztika és semmi más.

A problémát véletlenül oldották meg, amikor elkezdtek minden lemezt külön -külön ellenőrizni. Egy bizonyos terhelésnél az egyik lemez ütni kezdte a fejét, és rövidzárlatot adott a SATA -portnak, miközben nem volt riasztási jelzés. Ezzel párhuzamosan a vezérlő nem látta a lemezek egy részét, és csak azután kezdte felismerni őket, hogy újra csatlakoztatta a tápegységet. Így egyetlen rossz lemez kivette a teljes szerverplatformot.

Következtetés

Természetesen ez csak egy kis része azoknak az érdekes helyzeteknek, amelyeket mérnökeink megoldottak. Bizonyos problémákat nehéz "elkapni", különösen akkor, ha a naplóban nincsenek utalások a balesetre. De minden ilyen helyzet arra ösztönzi a mérnököket, hogy részletesen megértsék az eszközt. szerver berendezésés sokféle megoldást talál a problémákra.

Íme néhány vicces eset a gyakorlatunkban.
Mivel találkozott? Üdvözöljük a megjegyzésekben.

Mi az a webszerver? A laikus szemszögéből ez egyfajta fekete doboz, amely feldolgozza a böngésző kéréseit, és válaszul kiadja a weboldalakat. A technikus rengeteg homályos kifejezéssel bombázni fog. Ennek eredményeképpen a kezdő webszerver -rendszergazdák számára nehéz lehet megérteni a kifejezések és technológiák sokféleségét. Valóban, a webfejlesztés területe dinamikusan fejlődik, de sokak szívében modern megoldások ezek az alapvető technológiák és elvek, amelyekről ma beszélni fogunk.

Ha nem tudja, hol kezdje, akkor újra kell kezdenie. Annak érdekében, hogy ne keveredjen bele a modern webtechnológiák sokféleségébe, a történelemhez kell fordulnia, hogy megértse, hol kezdődött a modern internet, és hogyan fejlődtek és fejlődtek a technológiák.

HTTP szerver

Az internet fejlődésének hajnalán az oldalak a különlegesen megjelölt dokumentumok és néhány kapcsolódó adat egyszerű tárháza voltak: fájlok, képek stb. Annak érdekében, hogy a dokumentumok képesek legyenek egymásra és a kapcsolódó adatokra hivatkozni, egy speciális HTML -hipertext -jelölő nyelvet javasoltak, és az ilyen dokumentumokhoz az Interneten keresztül a HTTP protokollt is elérhetik. Mind a nyelv, mind a protokoll, fejlődő és javuló, a mai napig fennmaradt, jelentős változtatások nélkül. És az 1999 -ben elfogadott HTTP / 1.1 protokoll felváltásának kezdeténél a HTTP / 2 protokoll radikális változtatásokat hajt végre, figyelembe véve a modern hálózat követelményeit.

A HTTP protokoll kliens-szerver technológiával valósul meg, és állapot nélküli kérés-válasz elv alapján működik. A kérelem célja egy bizonyos erőforrás, amely meghatározott egyetlen erőforrás -azonosító - URI (Egységes erőforrás -azonosító), A HTTP az URI ízek egyikét használja - URL (Egységes erőforrás -kereső) - univerzális erőforrás -kereső, amely az erőforrással kapcsolatos információk mellett meghatározza annak fizikai helyét is.

A HTTP szerver feladata, hogy feldolgozza az ügyfél kérését, és vagy kiadja neki a szükséges erőforrást, vagy jelentse ennek lehetetlenségét. Tekintsük a következő diagramot:


Egy felhasználó egy HTTP -ügyfélen, leggyakrabban böngészőn keresztül, URL -t kér a HTTP -kiszolgálótól, a szerver ellenőrzi és elküldi a megfelelő URL -fájlt, általában egy HTML -oldalt. A kapott dokumentum tartalmazhat linkeket a kapcsolódó forrásokhoz, például képekhez. Ha ezeket meg kell jeleníteni az oldalon, akkor az ügyfél sorban kéri őket a szervertől, a képek mellett stíluslapok, az ügyféloldalon végrehajtott szkriptek stb. Miután megkapta az összes szükséges erőforrást, a böngésző feldolgozza azokat a HTML dokumentum kódjának megfelelően, és kész oldalt ad a felhasználónak.

Ahogy sokan már sejtették, ez a séma egy HTTP -kiszolgáló néven tartalmaz egy entitást, amely ma jobban ismert webszerverként. A webszerver fő célja és feladata a HTTP -kérelmek feldolgozása és azok eredményeinek visszaadása a felhasználónak. A webszerver nem tudja, hogyan hozhat létre tartalmat önmagában, és csak statikus tartalommal működik. Ez a modern webszerverekre is igaz, képességeik gazdagsága ellenére.

Hosszú ideig egy webszerver elég volt egy teljes értékű weboldal megvalósításához. De ahogy nőtt az internet, a statikus HTML képességei nagyon hiányoztak. Egy egyszerű példa: minden statikus oldal önellátó, és tartalmaznia kell a hozzá kapcsolódó összes erőforrásra mutató linkeket; új oldalak hozzáadásakor az ezekre mutató linkeket hozzá kell adni a meglévő oldalakhoz, különben a felhasználó soha nem fog tudni hozzájuk férni .

Az akkori webhelyek egyáltalán nem tűntek modernnek, például az alábbiakban az orosz nyelvű internet egyik úttörőjének nézete, a Rambler cég webhelye látható:

És általában a linkek bármelyikére való áttérés megzavarhatja a modern felhasználót, ilyen oldalról nem lehet visszamenni, kivéve, ha megnyomja az azonos nevű gombot a böngészőben.

A kísérlet, hogy valami többé -kevésbé hasonlítson egy modern webhelyhez, hamarosan egyre nagyobb munkává vált a meglévő oldalak módosításán. Végül is, ha valamit módosítottunk a webhely általános részén, például a fejlécben lévő logót, akkor ezt a módosítást minden meglévő oldalon végre kell hajtanunk. És ha megváltoztattuk az útvonalat az egyik oldalra, vagy töröltük, akkor meg kell találnunk az összes linket, és meg kell változtatnunk vagy törölnünk.

Ezért a webszerverek fejlesztésének következő lépése a technológia támogatása volt szerver oldal tartalmazza - SSI (Kiszolgáló oldali tartalma). Lehetővé tette más fájlok tartalmának az oldalkódba való felvételét, ami lehetővé tette az ismétlődő elemek, például fejléc, lábléc, menü stb. v külön fájlokatés csak csatlakoztassa, amikor az oldal végleges.

Most, hogy megváltoztassa a logót vagy a menüpontot, a módosításokat csak egy fájlban kell elvégezni, ahelyett, hogy az összes létező oldalt szerkesztené. Ezenkívül az SSI lehetővé tette bizonyos dinamikus tartalmak megjelenítését az oldalakon, például a tényleges dátumot, valamint egyszerű feltételek végrehajtását és a változókkal való munkát. Ez jelentős előrelépés volt, megkönnyítve a webmesterek számára és javítva a felhasználói élményt. Ezek a technológiák azonban még mindig nem tették lehetővé igazán dinamikus weboldal létrehozását.

Érdemes megjegyezni, hogy az SSI -t manapság aktívan használják, ahol néhány statikus tartalmat be kell illeszteni az oldal kódjába, elsősorban egyszerűsége és igénytelen erőforrásai miatt.

CGI

A webtechnológia fejlődésének következő lépése a speciális programok (szkriptek) megjelenése volt, amelyek kiszolgálói oldalon feldolgozzák a felhasználói kéréseket. Leggyakrabban szkriptnyelveken íródnak, kezdetben Perl volt, ma a PHP tartja a tenyerét. Fokozatosan a programok egész osztálya keletkezett - tartalomkezelő rendszerek - CMS (Tartalomkezelő rendszer), amelyek teljes értékű webes alkalmazásokat képviselnek, amelyek képesek a felhasználói kérések dinamikus feldolgozására.

Most fontos pont: a webszerverek nem tudtak és nem tudnak szkripteket végrehajtani, feladatuk a statikus tartalom kiszolgálása. Itt egy új entitás lép a színre - egy alkalmazásszerver, amely a szkriptnyelvek tolmácsa, és amelyekkel a hozzájuk írt webes alkalmazások működnek. Az adatok tárolására általában DBMS -t használnak, ami annak köszönhető, hogy nagy mennyiségű összekapcsolt információhoz kell hozzáférni.

Az alkalmazásszerver azonban nem tudja, hogyan kell dolgozni a HTTP protokollal és feldolgozni a felhasználói kéréseket, mivel ez a webszerver feladata. Kölcsönhatásuk biztosítása érdekében fejlesztették ki közös átjáró interfész - CGI (Közös átjáró interfész).

Világosan meg kell érteni, hogy a CGI nem program vagy protokoll, hanem csak interfész, azaz az alkalmazások közötti interakció módjainak halmaza. Ezenkívül ne keverje össze a CGI kifejezést a CGI alkalmazás vagy a CGI szkript fogalmával, amely egy olyan programot (szkriptet) jelöl, amely támogatja a CGI felületen keresztül történő munkát.

Az adatok átviteléhez szabványos bemeneti-kimeneti adatfolyamokat használnak, a webszervertől a CGI alkalmazásig, az adatokat a stdin visszaveszik stdout, hibaüzenetek küldéséhez használja stderr.

Tekintsük részletesebben egy ilyen rendszer folyamatát. Miután megkapta a kérést a felhasználó böngészőjétől, a webszerver megállapítja, hogy dinamikus tartalmat kér, és létrehoz egy speciális kérést, amelyet a CGI felületen keresztül elküld a webes alkalmazásnak. Amikor megkapja, az alkalmazás elindítja és végrehajt egy kérést, amelynek eredményeképpen a dinamikusan generált oldal HTML kódja kerül visszaküldésre a webszerverre, majd az alkalmazás kilép.

Még egy fontos különbség dinamikus webhely - oldalai fizikailag nem léteznek a felhasználónak adott formában. Valójában van egy webes alkalmazás, azaz szkriptek és sablonok, valamint a webhely anyagait és szolgáltatási adatait tároló adatbázis, a statikus tartalom külön található: képek, java szkriptek, fájlok.

A kérelem beérkezése után a webalkalmazás lekéri az adatokat az adatbázisból, és kitölti a kérésben megadott sablont. Az eredmény visszakerül a webszerverre, amely statikus tartalommal (képekkel, szkriptekkel, stílusokkal) kiegészíti az így létrehozott oldalt, és átadja a felhasználó böngészőjének. Ebben az esetben maga az oldal nincs mentve sehova, kivéve a gyorsítótárat, és amikor új kérés érkezik, az oldal újra generálódik.

A CGI előnyei közé tartozik a nyelv és az építészet függetlensége: a CGI alkalmazás bármilyen nyelven írható, és ugyanolyan jól működik bármely webszerverrel. A szabvány egyszerűsége és nyitottsága miatt ez a webes alkalmazások gyors fejlődéséhez vezetett.

Az előnyök mellett azonban a CGI -nek jelentős hátrányai is vannak. A legfontosabb a folyamat elindításának és leállításának magas rezsiköltsége, ami megnövekedett hardver -erőforrás -követelményekkel és alacsony teljesítménnyel jár. A szabványos I / O adatfolyamok pedig korlátozzák a méretezhetőséget és a magas rendelkezésre állást, mivel megkövetelik, hogy a webszerver és az alkalmazáskiszolgáló ugyanazon a rendszeren legyenek.

Jelenleg a CGI -t gyakorlatilag nem használják, mivel azt fejlettebb technológiák váltották fel.

FastCGI

Ahogy a neve is sugallja, a technológia fejlesztésének fő célja a CGI teljesítményének javítása volt. A FastCGI továbbfejlesztése során egy kliens-szerver protokoll egy webszerver és egy alkalmazáskiszolgáló közötti interakcióhoz, amely nagy teljesítményt és biztonságot nyújt.

A FastCGI kijavítja a fő CGI -problémát - újrakezd egy webalkalmazás folyamata minden kérés esetén, a FastCGI folyamatok folyamatosan futnak, ami jelentősen időt és erőforrásokat takarít meg. A szabványos adatfolyamok helyett adatátvitelre kerül sor UNIX aljzatok vagy TCP / IP, amely lehetővé teszi, hogy a webszervert és az alkalmazáskiszolgálókat különböző gazdagépeken tárolja, így biztosítva a rendszer skálázhatóságát és / vagy magas rendelkezésre állását.

Több FastCGI folyamatot is futtathatunk egy számítógépen, amelyek párhuzamosan tudják feldolgozni a kéréseket, vagy különböző beállításokkal vagy verziókkal rendelkeznek a szkriptnyelvről. Például több is lehet PHP verziók különböző webhelyekhez, kéréseiket különböző FastCGI folyamatokhoz irányítva.

A folyamatkezelőket a FastCGI folyamatok és a terheléselosztás vezérlésére használják; ezek lehetnek egy webszerver részei vagy különálló alkalmazások. A népszerű webszerverek Apache és Lighttpd beépített FastCGI folyamatkezelőkkel rendelkeznek, míg az Nginx külső kezelőt igényel a FastCGI használatához.

PHP-FPM és spawn-fcgi

A FastCGI folyamatok külső kezelőitől a PHP-FPM és a spawn-fcgi programokat használják. A PHP-FPM eredetileg Andrey Nigmatulin PHP javításainak halmaza volt, amely a FastCGI folyamatkezelés számos kérdését megoldotta, az 5.3-as verziótól kezdve a projekt része, és a PHP disztribúció része. A PHP-FPM képes dinamikusan kezelni a PHP folyamatok számát a terheléstől függően, újratölteni a készleteket kérések elvesztése nélkül, a hibás folyamatok vészhelyzeti újraindítását, és meglehetősen fejlett menedzser.

A Spawn-fcgi a Lighttpd projekt része, de nem szerepel az azonos nevű webszerverben; alapértelmezés szerint a Lighttpd saját, egyszerűbb, folyamatkezelőt használ. A fejlesztők azt javasolják, hogy használja azokat az eseteket, amikor egy másik gépen található FastCGI folyamatokat kell kezelnie, vagy ha speciális biztonsági beállításokra van szüksége.

A külső kezelők lehetővé teszik az egyes FastCGI folyamatok elkülönítését a chroot -ban (az alkalmazás gyökérkönyvtárának megváltoztatása anélkül, hogy azon kívül hozzáférhetnénk), különbözve a többi folyamat chrootjától és a webszerver chrootjától. És amint már mondtuk, lehetővé teszik a más szervereken található FastCGI alkalmazásokkal való munkát TCP / IP -n keresztül, ha helyi hozzáférés gyors csatlakozási típusként a UNIX socket hozzáférést kell választania.

Ha újra megnézzük a diagramot, látni fogjuk, hogy van egy új elemünk - egy folyamatkezelő, amely közvetítő a webszerver és az alkalmazásszerverek között. Ez némileg bonyolítja a sémát, mivel konfigurálnia és karban kell tartania nagy mennyiség szolgáltatások, ugyanakkor szélesebb lehetőségeket nyit meg, lehetővé téve a kiszolgáló minden elemének egyértelmű konfigurálását a feladataihoz.

A gyakorlatban, amikor a beépített és külső kezelő között választ, alaposan értékelje a helyzetet, és válassza ki pontosan azt az eszközt, amely a legjobban megfelel az Ön igényeinek. Például, ha egy egyszerű szervert hoz létre több webhelyhez szabványos motorokon, akkor egy külső kezelő használata egyértelműen felesleges lesz. Bár senki nem erőlteti rád a nézőpontját. A Linux olyan jó, hogy mindenki, mint konstruktőr, pontosan össze tudja állítani, amire szüksége van.

SCGI, PCGI, PSGI, WSGI és mások

A webfejlesztés témájába merülve minden bizonnyal találkozik a különféle CGI technológiák említésével, amelyek közül a legnépszerűbbeket a címben felsoroltuk. Megzavarodhat egy ilyen változatosságtól, de ha figyelmesen elolvassa cikkünk elejét, akkor tudja, hogyan működik a CGI és a FastCGI, és ezért ezeknek a technológiáknak a kezelése nem lesz nehéz az Ön számára.

Annak ellenére, hogy egy adott megoldás megvalósítása eltér, az alapelvek továbbra is közösek. Mindezek a technológiák átjáró interfészt biztosítanak ( Átjáró felület) kommunikálni a webszerver és az alkalmazáskiszolgáló között. Az átjárók lehetővé teszik a webszerver és a webalkalmazás környezetének szétválasztását, lehetővé téve bármilyen kombináció használatát az esetleges összeférhetetlenségek figyelembevétele nélkül. Egyszerűen fogalmazva, nem számít, hogy a webszerver egy adott technológiát vagy egy szkriptnyelvet támogat, a lényeg az, hogy képes legyen a kívánt típusú átjáróval dolgozni.

És mivel a címben egy csomó rövidítést soroltunk fel, részletesebben átnézzük őket.

SCGI (Egyszerű Common Gateway interfész) - egyszerű közös átjáró felület- a CGI alternatívájaként készült, és sok tekintetben hasonló a FastCGI -hez, de könnyebben megvalósítható. Minden, amiről a FastGCI kapcsán beszéltünk, igaz az SCGI -re is.

PCGI (Perl közös átjáró interfész) egy Perl könyvtár a CGI interfésszel való munkavégzéshez, sokáig ez volt a fő lehetőség a Perl alkalmazások CGI -n keresztüli kezelésére, jó teljesítményű (amennyire a CGI -re alkalmazható), szerény erőforrásigényű és jó túlterhelésű védelem.

PSGI (Perl Web szerverÁtjáró felület) a Perl webkiszolgáló és alkalmazáskiszolgáló közötti interakciós technológia. Ha a PCGI egy eszköz a klasszikus CGI interfésszel való munkavégzéshez, akkor a PSGI inkább a FastCGI -hez hasonlít. A PSGI Server egy Perl alkalmazásvégrehajtási környezet, amely szolgáltatásként folyamatosan fut, és képes kommunikálni egy webszerverrel TCP / IP vagy UNIX aljzatokon keresztül, és a Perl alkalmazásoknak ugyanazokat az előnyöket biztosítja, mint a FastCGI.

WSGI (Webszerver átjáró interfész) egy másik speciális átjárófelület, amelyet a webszerver és a Phyton nyelven írt programok alkalmazáskiszolgálójával való interakcióra terveztek.

Könnyen belátható, hogy az általunk felsorolt ​​technológiák bizonyos mértékig a CGI / FastCGI analógjai, de bizonyos alkalmazási területekre vonatkoznak. Az általunk megadott adatok elégségesek lesznek munkájuk elvének és mechanizmusainak általános megértéséhez, és ezek mélyebb tanulmányozása csak a jelzett technológiákkal és nyelvekkel való komoly munka esetén van értelme.

Alkalmazáskiszolgáló Apache modulként

Ha korábban valamilyen absztrakt webszerverről beszéltünk, akkor most egy konkrét megoldásról fogunk beszélni, és ez nem a preferenciáink kérdése. A webszerverek között az Apache különleges helyet foglal el, a legtöbb esetben, amikor a Linux platformon található webszerverről, és általában egy webszerverről beszélnek, az Apache lesz szó.

Azt mondhatjuk, hogy ez egyfajta "alapértelmezett" webszerver. Vegyünk bármilyen tömeges tárhelyet - az Apache ott lesz, vegyen bármilyen webalkalmazást - az alapértelmezett beállítások az Apache számára vannak megadva.

Igen, technológiai szempontból az Apache nem a technológiák koronája, de ő képviseli az arany középutat, egyszerű, világos, rugalmas beállításokban, univerzális. Ha megteszi az első lépéseket a webhelyépítésben, akkor az Apache az Ön választása.

Itt szemrehányást tehetünk, hogy az Apache már rég elavult, az összes "igazi srác" már telepítette az Nginx -et stb. stb., ezért magyarázzuk el részletesebben ezt a pillanatot. A dobozból kivett összes népszerű CMS az Apache -val való használatra lett konfigurálva, ez lehetővé teszi, hogy minden figyelmet a webes alkalmazással való munkára összpontosítson, kizárva a webszervert a lehetséges problémák forrásából.

Az újoncok körében népszerű fórumok az Apache webkiszolgálóként is szolgálnak, és a tippek és trükkök többsége ehhez kapcsolódik. Ugyanakkor az alternatív webszerverek általában finomabb és alaposabb konfigurációt igényelnek, mind a webszerver oldaláról, mind a webes alkalmazás oldaláról. Ugyanakkor ezeknek a termékeknek a felhasználói általában sokkal tapasztaltabbak, és az új jövevények jellemző problémái a környezetükben nem kerülnek tárgyalásra. Ennek eredményeként olyan helyzet állhat elő, amikor semmi sem működik, és nincs kitől kérdezni. Ez garantáltan nem fog megtörténni az Apache esetében.

Valójában mit tettek az Apache fejlesztői, amelyek lehetővé tették, hogy ötleteik különleges helyet foglaljanak el? A válasz elég egyszerű: a maguk útját járták. Míg a CGI azt javasolta, hogy tartózkodjanak a konkrét megoldásoktól, egy univerzális átjáróra összpontosítva, az Apache mást tett - a lehető legnagyobb mértékben integrálták a webszervert és az alkalmazásszervert.

Valóban, ha az alkalmazáskiszolgálót webszerver modulként futtatjuk egy közös címetérben, sokkal egyszerűbb sémát kapunk:

Milyen előnyökkel jár ez? Minél egyszerűbb az áramkör és minél kevesebb elem van benne, annál könnyebb és olcsóbb a karbantartása és karbantartása, annál kevesebb meghibásodási pontja van. Ha egyetlen szerver számára ez nem olyan fontos, akkor a tárhely keretein belül ez nagyon jelentős tényező.

A második előny a teljesítmény. Ismét csalódást okozunk az Nginx rajongóknak, köszönhetően az egyetlen címtérben végzett munkának, az Apache + mod_php alkalmazásszerver teljesítménye mindig 10-20% -kal gyorsabb lesz, mint bármely más webszerver + FastCGI (vagy más CGI megoldás). De nem szabad megfeledkezni arról sem, hogy az oldal sebessége nemcsak az alkalmazáskiszolgáló teljesítményének köszönhető, hanem számos más feltételnek is, amelyek mellett az alternatív webszerverek jelentősen jobb eredményeket tudnak felmutatni.

De van még egy, meglehetősen komoly előnye, ez az alkalmazáskiszolgáló egyéni webhely vagy felhasználó szintjén történő konfigurálásának képessége. Térjünk vissza egy kicsit: a FastCGI / CGI sémákban az alkalmazáskiszolgáló egy külön szolgáltatás, saját, külön beállításokkal, amelyek akár egy másik felhasználó vagy egy másik gazda nevében is futhatnak. Egyszerver -rendszergazda vagy valamilyen nagy projekt szempontjából ez nagyszerű, de nem túl jó a felhasználók és a tárhelyadminisztrátorok számára.

Az internet fejlődése oda vezetett, hogy a lehetséges webes alkalmazások (CMS, szkriptek, keretrendszerek stb.) Száma nagyon nagyra nőtt, és az alacsony belépési küszöb nagyszámú embert vonzott a webhelyek építésére, speciális technikai eszközök nélkül tudás. Ugyanakkor a különböző webalkalmazások eltérő konfigurációt igényelhetnek az alkalmazáskiszolgálótól. Hogyan legyen? Minden alkalommal kapcsolatba lépni a támogatással?

A megoldást egészen egyszerűen megtalálták. Mivel az alkalmazáskiszolgáló most a webszerver része, az utóbbit delegálhatja annak beállításainak kezelésére. Hagyományosan az Apache beállításainak kezeléséhez a konfigurációs fájlokon kívül httaccess fájlokat is használtak, amelyek lehetővé tették a felhasználók számára, hogy ide írják az irányelveiket, és alkalmazzák azokat a könyvtárban, ahol ez a fájl található, és alatta, ha az ottani beállítások nem fedik át a httaccess -jüket. fájlt. Mod_php módban ezek a fájlok lehetővé teszik számos PHP beállítás megváltoztatását egy adott webhelyhez vagy könyvtárhoz.

A módosítások elfogadásához nem kell újraindítani a webszervert, és hiba esetén csak ez a webhely (vagy annak egy része) leáll. Ezenkívül hajtsa végre az egyszerű változtatásokat szöveges fájlés a webhely mappájába helyezése még a felkészületlen felhasználók hatáskörébe tartozik, és biztonságos a szerver egészére nézve.

Mindezen előnyök kombinációja biztosította az Apache számára az ilyen széles körű használatot és az univerzális webszerver státuszt. Más megoldások lehetnek gyorsabbak, gazdaságosabbak, jobbak, de mindig testreszabást igényelnek a feladathoz, ezért főleg célprojektekben használják őket, az Apache dominál a tömegszegmensben.

Miután beszélgettünk az előnyökről, térjünk át a hátrányokra. Némelyikük egyszerűen az érem másik oldala. Az a tény, hogy az alkalmazáskiszolgáló a webszerver része, előnyöket nyújt a teljesítményben és a könnyű konfigurálásban, ugyanakkor biztonsági szempontból is korlátoz minket - az alkalmazásszerver mindig a webszerver nevében és a rendszer rugalmasságát, nem terjeszthetjük a webszervert és az alkalmazásszervert különböző hosztokra, nem használhatjuk a szervereket különböző változatok szkriptnyelv vagy más beállítások.

A második hátrány a nagyobb erőforrás -fogyasztás. A CGI sémában az alkalmazáskiszolgáló létrehoz egy oldalt, és átadja azt a webszervernek, felszabadítva az erőforrásokat, az Apache + mod_php csomag pedig addig tartja elfoglalva az alkalmazásszerver erőforrásait, amíg a webszerver át nem adja az oldal tartalmát az ügyfélnek. Ha az ügyfél lassú, akkor az erőforrások a szolgáltatás teljes időtartama alatt foglaltak lesznek. Ezért gyakran az Nginxet az Apache elé helyezik, amely a gyors kliens szerepét tölti be, ez lehetővé teszi az Apache számára, hogy gyorsan feladja az oldalt és felszabadítsa az erőforrásokat, és ezzel a gazdaságosabb Nginx -re helyezi át az ügyféllel való interakciót.

Következtetés

Lehetetlen egy cikkben lefedni a modern technológiák teljes skáláját, ezért csak a főbbekre koncentráltunk, szándékosan hagyva néhány dolgot a színfalak mögött, és jelentős egyszerűsítésekhez is folyamodtunk. Kétségtelen, hogy ezen a területen elkezdve dolgozni, szükség lesz a téma mélyebb tanulmányozására, de az új ismeretek észleléséhez szükség van egy bizonyos elméleti alapra, amelyet ezzel az anyaggal próbáltunk megalapozni.

Ha minden nap használ egy számítógépet, amely csatlakozik a hálózathoz, ha az internet is csatlakozik egy mobil eszközhöz, akkor minden felhasználó időről időre találkozik a "szerver" szóval. Sőt, ez a szó különböző kombinációkban is megtalálható, és nem minden felhasználó érti, hogy mit kérdéses... Mi rejtőzik a "szerver" szó előtt, és miért van rá szüksége a felhasználóknak?

A "szerver" kifejezés hardvereszközt és szoftvert jelenthet (hardver és virtuális). A hardverkiszolgáló külön számítógép. Szükség van más PC -k és irodai berendezések működésének biztosítására. Virtuális szerver Szoftver. Ebben az esetben egy adott szerver kombinálja ezt a két típust.

Az első dolog, amit emlékeznünk kell arra, hogy feladata a hálózat és a felhasználók karbantartása, nem pedig a hálózat kezelése. A felhasználók feladatokat rendelnek a szerverhez, és az gyorsan megoldja azokat. Minél jobb a szerver, például a HP szerverei, annál jobban teljesíti feladatait.

Nehéz elképzelni a nagy elektronikai berendezésekkel rendelkező nagyvállalatok munkáját anélkül, hogy ezeket az eszközöket egyetlen hálózatba egyesítenék. A vállalati szerver lehetővé teszi a távvezérlést irodai felszerelésés lehetővé teszi a számítógép számára, hogy kölcsönhatásba lépjen egymással.

A szerver összeomlása vagy meghibásodása katasztrófához vezethet

A vállalatoknál a szerverek optimalizálhatják az összes részleg munkáját. De bent is Mindennapi élet gyakran szembesülünk a szerverek munkájával. Különösen a pénztárak és bankok pénztárai szervereket használnak a dokumentumok nyomtatására és a fizetésre. A szerver támogatja minden levelező, közösségi hálózat és kommunikációs menedzser munkáját.

A szerver hozzáférést biztosít a hálózathoz. Minden webhely a szervereken van tárolva. Ezt a megosztott tárhely biztosítja. Ezt a szolgáltatást hosting cégek nyújtják.



Tetszett a cikk? Oszd meg