Si zbatohet kombinimi Apache & Nginx në Timeweb
Për shumë kompani, Nginx + Apache + PHP është një kombinim shumë tipik dhe i zakonshëm, dhe Timeweb nuk bën përjashtim. Megjithatë, të kuptuarit saktësisht se si zbatohet mund të jetë interesante dhe e dobishme.
Përdorimi i një kombinimi të tillë, natyrisht, diktohet nga nevojat e klientëve tanë. Të dy Nginx dhe Apache luajnë një rol të veçantë, secili zgjidh një problem specifik.
Cilësimet themelore Apache kryhen në skedarët e konfigurimit të vetë Apache, dhe cilësimet për faqet e klientëve ndodhin përmes skedar .htaccess. .htaccess është një skedar konfigurimi në të cilin klienti mund të konfigurojë në mënyrë të pavarur rregullat dhe sjelljen e serverit në internet. Ky cilësim do të zbatohet posaçërisht për faqen e tij. Për shembull, falë funksionalitetit Apache, përdoruesit mund të ndryshojnë mënyrën e funksionimit brenda të njëjtit version PHP nga mod_php në mod_cgi; mund të vendosni ridrejtime, optimizim për SEO, URL të përshtatshme, disa kufizime për PHP.
nginx përdoret si një server proxy për të ridrejtuar trafikun në Apache dhe si një server në internet për të shërbyer përmbajtje statike. Ne kemi zhvilluar gjithashtu module sigurie për Nginx që na lejojnë të mbrojmë të dhënat e përdoruesve tanë, për shembull, për të ndarë të drejtat e aksesit.
Le të imagjinojmë që një përdorues viziton faqen e internetit të klientit tonë. Së pari, përdoruesi shkon te Nginx, i cili shërben për përmbajtje statike. Kjo ndodh në çast. Pastaj, kur bëhet fjalë për ngarkimin e PHP, Nginx e përcjell kërkesën te Apache. Dhe Apache, së bashku me PHP, tashmë gjeneron përmbajtje dinamike.
Karakteristikat e paketës Apache & Nginx në Timeweb
Pritja jonë virtuale zbaton 2 skema kryesore operative për Apache & Nginx: Të përbashkëta dhe të përkushtuara.
Skema e përbashkët
Kjo skemë përdoret për shumicën e përdoruesve. Dallohet nga thjeshtësia dhe intensiteti i burimeve: skema e përbashkët përdor më pak burime, kjo është arsyeja pse tarifa e saj është më e lirë. Sipas kësaj skeme, serveri drejton një Nginx, i cili e lejon atë të shërbejë të gjitha kërkesat e përdoruesve dhe disa raste të Apache.
Skema Shared është përmirësuar për një kohë të gjatë: gradualisht korrigjuam mangësitë. Në mënyrë të përshtatshme, mund të bëhet pa nevojën për të modifikuar kodin burimor.
Skema e përbashkët
Skema e dedikuar
E dedikuar kërkon më shumë burime, kështu që tarifa e saj është më e shtrenjtë për klientët. Në skemën Dedicated, çdo klient merr Apache-n e vet të veçantë. Burimet këtu janë të rezervuara për klientin, ato ndahen ekskluzivisht. Si funksionon: Ka disa versione të PHP në server. Ne mbështesim versionet 5.3, 5.4, 5.6, 7.1, 7.2, 7.3, 7.4. Pra, për çdo version të PHP-së lëshohet Apache-ja e tij.
Skema e dedikuar
Zonë e sigurtë. Vendosja e zonave në Nginx
Më parë, për Nginx, ne përdorëm shumë zona (zona) memorie të përbashkët - një bllok server për domen. Ky konfigurim kërkon shumë burime, pasi krijohet një zonë e veçantë për secilën faqe. Sidoqoftë, në cilësimet Nginx, shumica e faqeve janë të të njëjtit lloj, kështu që ato mund të vendosen në një zonë falë përdorimit të direktivave të hartave në modul. ngx_http_map_module, të cilat ju lejojnë të specifikoni korrespondencat. Për shembull, ne kemi një shabllon të zonës në të cilin duhet të ofrojmë variabla: shtegu drejt faqes, versioni PHP, përdoruesi. Kështu, rileximi i konfigurimit Nginx, domethënë ringarkimi, u përshpejtua.
Ky konfigurim kurseu shumë burimet RAM dhe shpejtoi Nginx.
Rimbushja nuk do të funksionojë!
Në skemën Shared, ne hoqëm nevojën për të ringarkuar Apache kur ndryshonim cilësimet e faqes në internet. Më parë, kur një klient dëshironte të shtonte një domen ose të ndryshonte versionin PHP, kërkohej një ringarkim i detyrueshëm i Apache, gjë që çoi në vonesa në përgjigje dhe ndikoi negativisht në performancën e faqes.
Ne u çliruam nga ringarkimet duke krijuar konfigurime dinamike. Falë
Konfigurimi i skemës së përbashkët
Po Docker?
Shumë kompani kanë kaluar në një sistem të bazuar në kontejnerë. Timeweb aktualisht po shqyrton mundësinë e një tranzicioni të tillë. Sigurisht, çdo vendim ka të mirat dhe të këqijat.
Së bashku me avantazhet e pamohueshme, sistemi i kontejnerëve i siguron përdoruesit më pak burime. Në Timeweb, falë skemës së përshkruar të pritjes, përdoruesi nuk ka kufizime në RAM. Ai merr më shumë burime sesa në kontejner. Përveç kësaj, përdoruesi mund të ketë më shumë module Apache të ngarkuar.
Timeweb fuqizon rreth 500 faqe interneti. Ne marrim përgjegjësi të madhe dhe nuk bëjmë ndryshime të menjëhershme, të pajustifikuara në arkitekturën komplekse. Kombinimi Apache & Nginx është i besueshëm dhe i testuar me kohë. Ne, nga ana tjetër, përpiqemi të arrijmë performancën maksimale përmes konfigurimeve unike.
Për funksionimin me cilësi të lartë dhe të shpejtë të një numri të madh faqesh, duhet të përdorni një shabllon dhe konfigurim dinamik të Apache dhe Nginx. Kjo ju lejon të administroni me lehtësi dhe shpejt një numër të madh serverësh të ngjashëm.
Burimi: www.habr.com