Si si realizon e lidhjes Apache & Nginx në Timeweb
Për shumë kompani, Nginx + Apache + PHP është një lidhje shumë tipike dhe e zakonshme, dhe Timeweb nuk është përjashtim. Megjithatë, është interesante dhe e dobishme të kuptosh se si është realizuar kjo lidhje.

Përdorimi i një lidhjeje të tillë, sigurisht, është diktuar nga nevojat e klientëve tanë. Të dy Nginx dhe Apache luajnë role të veçanta, secili zgjidh një detyrë të caktuar.
Konfigurimet kryesore Apache në të kryhen në skedarët e konfigurimit të Apache, ndërsa konfigurimet për faqet e klientëve bëhen përmes skedarit .htaccess. .htaccess është një skedar konfigurimi, në të cilin klienti mund të adjuste rregullat dhe sjelljen e serverit web. Ky konfigurim do të jetë specifik për faqen e tij. Për shembull, falë funksionalitetit të Apache, përdoruesit mund të ndryshojnë modin e funksionimit brenda një versioni të vetëm PHP nga mod_php në mod_cgi; mund të konfigurojnë ridrejtime, optimizime për SEO, URL të përshtatshme, disa kufizime për PHP.
Nginx përdoret si një server proxy për të drejtuar trafikun në Apache dhe si serverin web për dorëzimin e përmbajtjes statike. Po ashtu, për Nginx kemi zhvilluar module sigurie që lejojnë mbrojtjen e të dhënave të përdoruesve tanë, për shembull, ndarjen e të drejtave të aksesit.
Imagjinoni se një përdorues hyn në faqen e klientit tonë. Fillimisht, përdoruesi arrin në Nginx, i cili dorëzon përmbajtjen statike. Kjo ndodh menjëherë. Pastaj, kur përfshihet ngarkohet PHP, Nginx drejton kërkesën në Apache. Dhe Apache së bashku me PHP tashmë gjeneron përmbajtje dinamike.
Veçoritë e lidhjes Apache & Nginx në Timeweb
Në hostimin tonë virtual janë realizuar 2 skema kryesore të punës së Apache & Nginx: Shared dhe Dedicated.
Skema Shared
Kjo skemë përdoret nga shumica e përdoruesve. Ajo karakterizohet nga thjeshtësia dhe kërkesa për burime: skema Shared përdor më pak burime, prandaj dhe tarifa e saj është më e ulët. Sipas kësaj skeme, në server është aktivizuar një Nginx që lejon shërbimin e të gjitha kërkesave të përdoruesve, dhe disa instanca të Apache.
Skema Shared është përmirësuar për një kohë të gjatë: gradualisht ne kemi rregulluar mangësitë. E lehtë është që ajo mund të bëhet pa pasur nevojë të rregullohet kodin burimor.

skema Shared
Skema Dedicated
Të dedikuara kërkojnë më shumë burime, prandaj tarifa e saj është më e lartë për klientët. Në skemën e dedikuar për çdo klient ngrihet një Apache i veçantë. Burimet këtu rezervohen për klientin dhe i jepen ekskluzivisht. Si funksionon: në server ka disa versione PHP. Ne mbështesim versionet 5.3, 5.4, 5.6, 7.1, 7.2, 7.3, 7.4. Kështu, për çdo version PHP, startohet një Apache i vetë.

skema e dedikuar
Zona e sigurt. Konfigurimi i zonave në Nginx
MĂ« parĂ« pĂ«r Nginx ne pĂ«rdornim shumĂ« zona tĂ« kujtesĂ«s sĂ« ndarĂ« (zone) â njĂ« bllok server pĂ«r çdo domen. Ky konfigurim kĂ«rkon shumĂ« burime, pasi pĂ«r çdo site krijohet njĂ« zonĂ« e veçantĂ«. MegjithatĂ«, nĂ« konfigurimet e Nginx shumica e faqeve janĂ« tĂ« ngjashme, prandaj ato arrijnĂ« tĂ« vendosen nĂ« njĂ« zonĂ« tĂ« vetme falĂ« pĂ«rdorimit tĂ« direktivave map nĂ« modul ngx_http_map_module, i cili lejon tĂ« vendosen marrĂ«dhĂ«nie. PĂ«r shembull, ne kemi njĂ« model zone, nĂ« tĂ« cilin ne duhet tĂ« ofrojmĂ« variablat: rruga nĂ« site, versioni PHP, pĂ«rdoruesi. KĂ«shtu, u pĂ«rshpejtuar rileximi i konfigurimit tĂ« Nginx-it, dmth reload.
Një konfigurim i tillë ka kursyer shumë burime të memories operative dhe ka përshpejtuar funksionimin e Nginx.
Reload nuk do të kalojë!
Në skemën e ndarë, ne shmangëm nevojën për të rinisur (reload) Apache kur bëhen ndryshime në konfigurimet e faqeve. Më parë, kur një klient dëshironte të shtonte një domen ose të ndryshonte versionin PHP, ishte e nevojshme një rinisje e obligueshme e Apache, e cila shkaktonte vonesa në përgjigje dhe ndikonin negativisht në performancën e faqeve.
Ne e hoqëm rinisjen duke krijuar konfigurime dinamike. Falë (modulit Apache), çdo proces ekzekutohet nga një përdorues i veçantë, çka rrit nivelin e sigurisë. Ky mënyrë lejon të dërgohen të dhëna nga Nginx në Apache2 rreth përdoruesit dhe document_root-it të tij. Kështu, Apache nuk përmban në vetvete konfigurimet e faqeve, ai i merr ato dinamikisht dhe rinisjet nuk janë më të nevojshme.

Konfigurimi i skemës së ndarë
Por si është Docker?
Shumë kompani kanë kaluar në një sistem të bazuar në kontejnerë. Timeweb tani po shqyrton mundësinë e një kalimi të tillë. Pa dyshim, në çdo zgjidhje mund të gjenden përfitime dhe disfatat.
Përveç përfitimeve të padiskutueshme, sistemi me kontejnerë ofron më pak burime për përdoruesin. Në Timeweb, falë strukturës së punës së hostimit të përshkruar, përdoruesi nuk ka kufizime në memorien e operativ. Ai merr më shumë burime se në kontejner. Për më tepër, përdoruesi mund të ketë një numër më të madh moduli Apache të ngarkuar.
Timeweb ofron punë për rreth 500,000 faqe. Ne mbajmë një përgjegjësi të madhe dhe nuk bëjmë ndryshime të menjëhershme e të paarsyetuara në arkitekturën e komplikuar. Kënga Apache & Nginx është e besueshme dhe e provuar me kalimin e kohës. Ne, nga ana jonë, përpiqemi të arrijmë performancën maksimale falë konfigurimeve unike.
Për një funksionim të shkëlqyer dhe të shpejtë të një numri të madh faqesh, kërkohet të përdoren konfigurime model dhe dinamike të Apache dhe Nginx. Kjo lejon administrimin e thjeshtë dhe të shpejtë të një numri të madh serverash të ngjashëm.
Burimi: habr.com
