Apache ja Nginx. Ühe ketiga ühendatud

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.

Apache ja Nginx. Ühe ketiga ühendatud

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.

Apache ja Nginx. Ühe ketiga ühendatud
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.

Apache ja Nginx. Ühe ketiga ühendatud
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 mpm-itk (Apache moodul), töötab iga protsess eraldi kasutajana, mis tõstab turvalisuse taset. See meetod võimaldab teil edastada andmeid kasutaja ja tema document_rooti kohta Nginxist Apache2-sse. Seega ei sisalda Apache saidi konfiguratsioone, see võtab need vastu dünaamiliselt ja uuesti laadimine pole enam vajalik.

Apache ja Nginx. Ühe ketiga ühendatud
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

Lisa kommentaar