Apache eta Nginx. Kate batek lotuta

Apache eta Nginx konbinazioa nola ezartzen den Timeweb-en

Enpresa askorentzat, Nginx + Apache + PHP konbinazio oso tipikoa eta ohikoa da, eta Timeweb ez da salbuespena. Hala ere, nola inplementatzen den zehazki ulertzea interesgarria eta erabilgarria izan daiteke.

Apache eta Nginx. Kate batek lotuta

Konbinazio horren erabilera, noski, gure bezeroen beharren araberakoa da. Nginx eta Apache-k rol berezia dute, bakoitzak arazo zehatz bat konpontzen du.

oinarrizko ezarpenak Apache Apache beraren konfigurazio fitxategietan egiten dira, eta bezeroen guneen ezarpenak bidez egiten dira .htaccess fitxategia. .htaccess konfigurazio fitxategi bat da, non bezeroak modu independentean konfigura ditzake web zerbitzariaren arauak eta portaera. Ezarpen hau bere webgunean aplikatuko da bereziki. Adibidez, Apache funtzionalitateari esker, erabiltzaileek PHP bertsio beraren barruan funtzionamendu modua alda dezakete mod_php-tik mod_cgi-ra; birzuzenketak konfigura ditzakezu, SEOrako optimizazioa, URL erosoa, PHPrako muga batzuk.

nginx Proxy zerbitzari gisa erabiltzen da trafikoa Apachera birbideratzeko eta web zerbitzari gisa eduki estatikoa zerbitzatzeko. Nginx-erako segurtasun moduluak ere garatu ditugu, gure erabiltzaileen datuak babesteko aukera ematen digutenak, adibidez, sarbide-eskubideak bereizteko.

Imajina dezagun erabiltzaile batek gure bezeroaren webgunea bisitatzen duela. Lehenik eta behin, erabiltzailea Nginx-era iristen da, eduki estatikoa eskaintzen duena. Berehala gertatzen da. Ondoren, PHP kargatzeko orduan, Nginx-ek eskaera Apache-ra bidaltzen du. Eta Apachek, PHPrekin batera, dagoeneko eduki dinamikoak sortzen ditu.

Apache & Nginx sortaren ezaugarriak Timeweb-en

Gure ostalaritza birtualak 2 eskema eragile nagusi inplementatzen ditu Apache eta Nginx-entzat: Partekatua eta Dedikatua.

Eskema partekatua

Erabiltzaile gehienentzat erabiltzen da eskema hau. Bere sinpletasunagatik eta baliabideen intentsitateagatik bereizten da: Partekatutako eskemak baliabide gutxiago erabiltzen ditu, horregatik bere tarifa merkeagoa da. Eskema honen arabera, zerbitzariak Nginx bat exekutatzen du, erabiltzaileen eskaera guztiak eta Apache-ren hainbat instantzia zerbitzatzeko aukera ematen duena.

Partekatutako eskema hobetzen ari da aspaldian: pixkanaka hutsak zuzendu ditugu. Eroso, iturburu-kodea aldatu beharrik gabe egin daiteke.

Apache eta Nginx. Kate batek lotuta
Eskema partekatua

Eskema dedikatua

Dedikatuak baliabide gehiago behar ditu, beraz, bere tarifa garestiagoa da bezeroentzat. Dedikatu eskeman, bezero bakoitzak bere Apache bereizia lortzen du. Hemen baliabideak bezeroarentzat erreserbatuta daude, esklusiboki esleitzen dira. Nola funtzionatzen duen: PHPren hainbat bertsio daude zerbitzarian. 5.3, 5.4, 5.6, 7.1, 7.2, 7.3, 7.4 bertsioak onartzen ditugu. Beraz, PHP-ren bertsio bakoitzeko bere Apache-a abiarazten da.

Apache eta Nginx. Kate batek lotuta
Eskema dedikatua

Zona segurua. Nginx-en eremuak konfiguratzea

Aurretik, Nginx-entzat, partekatutako memoria-eremu (zona) asko erabiltzen genituen - domeinu bakoitzeko zerbitzari-bloke bat. Konfigurazio honek baliabide asko behar ditu, gune bakoitzerako eremu bereizia sortzen baita. Hala ere, Nginx ezarpenetan, gune gehienak mota berekoak dira, beraz, zona batean jar daitezke moduluko mapen zuzentarauen erabilerari esker. ngx_http_map_module, korrespondentzia zehazteko aukera ematen dutenak. Adibidez, zona txantiloi bat dugu eta bertan aldagaiak eman behar ditugu: gunerako bidea, PHP bertsioa, erabiltzailea. Horrela, Nginx konfigurazioaren berrirakurketa, hau da, birkargatzea, azkartu egin zen.

Konfigurazio honek RAM baliabideak asko aurreztu zituen eta Nginx bizkortu zuen.

Berkargak ez du funtzionatuko!

Partekatutako eskeman, webgunearen ezarpenak aldatzean Apache berriro kargatu beharra kendu dugu. Aurretik, bezero batek domeinu bat gehitu edo PHP bertsioa aldatu nahi zuenean, Apache-ren derrigorrezko birkarga bat behar zen, eta horrek erantzunen atzerapenak eragin zituen eta gunearen errendimenduan eragin negatiboa izan zuen.

Konfigurazio dinamikoak sortuz birkargak kendu ditugu. Eskerrak mpm-itk (Apache modulua), prozesu bakoitza erabiltzaile bereizi gisa exekutatzen da, eta horrek segurtasun maila handitzen du. Metodo honek erabiltzaileari eta bere document_root-ari buruzko datuak Nginx-etik Apache2ra transferitzeko aukera ematen du. Horrela, Apache-k ez du gune konfiguraziorik, dinamikoki jasotzen ditu eta birkargak ez dira beharrezkoak.

Apache eta Nginx. Kate batek lotuta
Partekatutako eskema konfigurazioa

Zer gertatzen da Dockerrekin?

Enpresa asko edukiontzietan oinarritutako sistema batera pasatu dira. Timeweb trantsizio hori egiteko aukera aztertzen ari da gaur egun. Jakina, erabaki bakoitzak alde onak eta txarrak ditu.

Abantaila ukaezinekin batera, edukiontzien sistemak baliabide gutxiago eskaintzen dizkio erabiltzaileari. Timeweb-en, deskribatutako hosting-eskemari esker, erabiltzaileak ez du RAMan mugarik. Edukiontzian baino baliabide gehiago jasotzen ditu. Horrez gain, erabiltzaileak Apache modulu gehiago kargatu ditzake.

Timeweb-ek 500 webgune inguru ditu. Erantzukizun handia hartzen dugu eta ez dugu berehalako aldaketarik egiten arkitektura konplexuan. Apache eta Nginx konbinazioa fidagarria eta denbora probatua da. Gu, berriz, errendimendu handiena lortzen saiatzen gara konfigurazio berezien bidez.

Gune kopuru handi baten kalitate handiko eta azkar funtzionatzeko, Apache eta Nginx-en txantiloi eta konfigurazio dinamiko bat erabili behar duzu. Antzeko zerbitzari ugari erraz eta azkar administratzeko aukera ematen du.

Iturria: www.habr.com

Gehitu iruzkin berria