Kuidas Apache ja Nginxi kombinatsiooni Timewebis rakendatakse
Paljude ettevõtete jaoks on Nginx + Apache + PHP väga tüüpiline ja levinud kombinatsioon ning Timeweb pole erand. Siiski võib selle rakendamise täpse mõistmine olla huvitav ja kasulik.
Sellise kombinatsiooni kasutamise määravad loomulikult meie klientide vajadused. Nii Nginx kui ka Apache mängivad erilist rolli, kumbki lahendab konkreetse probleemi.
Põhiseaded Apache tehakse Apache'i enda konfiguratsioonifailides ja kliendisaitide sätted toimuvad selle kaudu .htaccess-fail. .htaccess on konfiguratsioonifail, milles klient saab iseseisvalt konfigureerida veebiserveri reegleid ja käitumist. See seade rakendub konkreetselt tema saidile. Näiteks saavad kasutajad tänu Apache funktsioonile muuta sama PHP versiooni töörežiimi mod_php asemel mod_cgi; saate seadistada ümbersuunamisi, optimeerimist SEO jaoks, mugavat URL-i, PHP jaoks mõningaid piiranguid.
nginx kasutatakse puhverserverina liikluse ümbersuunamiseks Apache'i ja veebiserverina staatilise sisu teenindamiseks. Samuti oleme Nginxi jaoks välja töötanud turvamoodulid, mis võimaldavad meil kaitsta oma kasutajate andmeid, näiteks eraldada juurdepääsuõigused.
Kujutagem ette, et kasutaja külastab meie kliendi veebisaiti. Esiteks pääseb kasutaja Nginxi juurde, mis teenindab staatilist sisu. See juhtub koheselt. Seejärel, kui tegemist on PHP laadimisega, saadab Nginx päringu edasi Apache'ile. Ja Apache koos PHP-ga genereerib juba dünaamilist sisu.
Apache ja Nginxi komplekti funktsioonid Timewebis
Meie virtuaalne hostimine rakendab Apache ja Nginxi jaoks kahte peamist tööskeemi: Jagatud ja pühendatud.
Jagatud skeem
Seda skeemi kasutatakse enamiku kasutajate jaoks. Seda eristab lihtsus ja ressursimahukus: jagatud skeem kasutab vähem ressursse, mistõttu on selle tariif odavam. Selle skeemi kohaselt töötab server ühte Nginxit, mis võimaldab tal teenindada kõiki kasutajapäringuid, ja mitut Apache eksemplari.
Shared skeem on juba pikka aega paranenud: tasapisi parandasime puudusi. Mugavalt saab seda teha ilma lähtekoodi muutmata.
Jagatud skeem
Spetsiaalne skeem
Dedicated nõuab rohkem ressursse, seega on selle tariif klientidele kallim. Pühendatud skeemis saab iga klient oma eraldi Apache'i. Siinsed ressursid on reserveeritud kliendile, need eraldatakse eranditult. Kuidas see töötab: serveris on mitu PHP versiooni. Toetame versioone 5.3, 5.4, 5.6, 7.1, 7.2, 7.3, 7.4. Seega käivitatakse iga PHP versiooni jaoks oma Apache.
Spetsiaalne skeem
Turvatsoon. Tsoonide seadistamine Nginxis
Varem kasutasime Nginxi jaoks palju jagatud mälutsoone (tsoone) - üks serveriplokk domeeni kohta. See seadistus nõuab palju ressursse, kuna iga saidi jaoks luuakse eraldi tsoon. Kuid Nginxi seadetes on enamik saite sama tüüpi, nii et neid saab paigutada ühte tsooni tänu moodulis kasutatavatele kaardidirektiividele ngx_http_kaardi_moodul, mis võimaldavad täpsustada vastavusi. Näiteks on meil tsooni mall, milles peame esitama muutujad: saidi tee, PHP versioon, kasutaja. Seega kiirendati Nginxi konfiguratsiooni uuesti lugemist, see tähendab uuesti laadimist.
See konfiguratsioon säästis oluliselt RAM-i ressursse ja kiirendas Nginxit.
Uuesti laadimine ei tööta!
Jagatud skeemis vabanesime vajadusest veebisaidi seadete muutmisel Apache uuesti laadida. Varem, kui üks klient soovis domeeni lisada või PHP versiooni muuta, nõuti Apache kohustuslikku uuesti laadimist, mis põhjustas vastuste viivitusi ja mõjutas negatiivselt saidi jõudlust.
Vabanesime uuesti laadimistest dünaamiliste konfiguratsioonide loomisega. Tänu
Jagatud skeemi konfiguratsioon
Aga Docker?
Paljud ettevõtted on üle läinud konteineripõhisele süsteemile. Timeweb kaalub praegu sellise ülemineku võimalust. Loomulikult on igal otsusel plusse ja miinuseid.
Lisaks vaieldamatutele eelistele pakub konteinersüsteem kasutajale vähem ressursse. Timewebis pole tänu kirjeldatud hostimisskeemile kasutajal RAM-i piiranguid. See saab rohkem ressursse kui konteineris. Lisaks võib kasutajal olla rohkem Apache mooduleid laaditud.
Timeweb toetab umbes 500 000 veebisaiti. Võtame suure vastutuse ega tee keerukas arhitektuuris koheseid põhjendamatuid muudatusi. Apache ja Nginxi kombinatsioon on usaldusväärne ja aja testitud. Meie omakorda püüame saavutada ainulaadsete konfiguratsioonide abil maksimaalse jõudluse.
Suure hulga saitide kvaliteetseks ja kiireks tööks peate kasutama Apache'i ja Nginxi malli ja dünaamilist konfiguratsiooni. See võimaldab lihtsalt ja kiiresti hallata suurt hulka sarnaseid servereid.
Allikas: www.habr.com