Apache en Nginx. Ferbûn troch ien keatling

Hoe't de Apache & Nginx-kombinaasje wurdt ymplementearre yn Timeweb

Foar in protte bedriuwen is Nginx + Apache + PHP in heul typyske en mienskiplike kombinaasje, en Timeweb is gjin útsûndering. It begryp krekt hoe't it wurdt ymplementearre kin lykwols ynteressant en nuttich wêze.

Apache en Nginx. Ferbûn troch ien keatling

It brûken fan sa'n kombinaasje wurdt fansels diktearre troch de behoeften fan ús kliïnten. Sawol Nginx as Apache spylje in spesjale rol, elk lost in spesifyk probleem op.

Basisynstellingen Apache wurde útfierd yn de konfiguraasje triemmen fan Apache sels, en ynstellings foar client sites komme troch .htaccess triem. .htaccess is in konfiguraasjetriem wêryn de kliïnt selsstannich de regels en gedrach fan 'e webserver konfigurearje kin. Dizze ynstelling sil spesifyk jilde foar syn side. Bygelyks, troch de Apache-funksjonaliteit kinne brûkers de bestjoeringsmodus binnen deselde PHP-ferzje feroarje fan mod_php nei mod_cgi; jo kinne trochferwizings ynstelle, optimisaasje foar SEO, handige URL, guon grinzen foar PHP.

Nginx brûkt as proxy-tsjinner om ferkear nei Apache om te lieden en as webserver om statyske ynhâld te tsjinjen. Wy hawwe ek befeiligingsmodules ûntwikkele foar Nginx wêrtroch wy de gegevens fan ús brûkers kinne beskermje, bygelyks om tagongsrjochten te skieden.

Litte wy ús foarstelle dat in brûker de webside fan ús kliïnt besykje. Earst komt de brûker nei Nginx, dy't statyske ynhâld tsjinnet. It bart direkt. Dan, as it giet om it laden fan PHP, stjoert Nginx it fersyk troch nei Apache. En Apache, tegearre mei PHP, genereart al dynamyske ynhâld.

Funksjes fan 'e Apache & Nginx-bondel yn Timeweb

Us firtuele hosting ymplementearret 2 haadbestjoeringsskema's foar Apache & Nginx: Dielde en tawijd.

Dielde skema

Dit skema wurdt brûkt foar de measte brûkers. It wurdt ûnderskieden troch syn ienfâld en boarne-yntensiteit: it Shared-skema brûkt minder boarnen, wêrtroch't har taryf goedkeaper is. Neffens dit skema rint de tsjinner ien Nginx, wêrtroch it alle brûkersoanfragen en ferskate eksimplaren fan Apache kin tsjinje.

De Shared-regeling is al langer oan it ferbetterjen: stadichoan hawwe wy de tekoarten ferholpen. Gemaklik kin it dien wurde sûnder de needsaak om de boarnekoade te wizigjen.

Apache en Nginx. Ferbûn troch ien keatling
Dielde skema

Dedicated skema

Dedicated fereasket mear middels, sadat syn taryf djoerder is foar klanten. Yn it Dedicated-skema krijt elke klant syn eigen aparte Apache. Boarnen hjir binne reservearre foar de kliïnt, se wurde eksklusyf tawiisd. Hoe it wurket: D'r binne ferskate ferzjes fan PHP op 'e tsjinner. Wy stypje ferzjes 5.3, 5.4, 5.6, 7.1, 7.2, 7.3, 7.4. Dat, foar elke ferzje fan PHP wurdt syn eigen Apache lansearre.

Apache en Nginx. Ferbûn troch ien keatling
Dedicated skema

Feilige sône. Sônes ynstelle yn Nginx

Earder brûkten wy foar Nginx in protte dielde ûnthâldsônes (sônes) - ien serverblok per domein. Dizze opset fereasket in soad boarnen, sûnt in aparte sône wurdt makke foar eltse side. Yn 'e Nginx-ynstellingen binne de measte siden lykwols fan itselde type, sadat se yn ien sône kinne wurde pleatst troch it brûken fan kaartrjochtlinen yn' e module ngx_http_map_module, wêrmei jo korrespondinsjes opjaan kinne. Bygelyks, wy hawwe in sône sjabloan wêryn wy moatte leverje fariabelen: paad nei de side, PHP ferzje, brûker. Sa waard it opnij lêzen fan 'e Nginx-konfiguraasje, dat is, it opnij laden, fersneld.

Dizze konfiguraasje hat RAM-boarnen sterk bewarre en Nginx fersnelle.

Reload sil net wurkje!

Yn it dielde skema hawwe wy de needsaak om Apache opnij te laden by it feroarjen fan websideynstellingen kwyt te reitsjen. Eartiids, doe't ien kliïnt in domein taheakje woe of de PHP-ferzje wizigje, wie in ferplichte opnij laden fan Apache nedich, wat late ta fertragingen yn antwurden en negatyf beynfloede sideprestaasjes.

Wy hawwe reloads kwytrekke troch dynamyske konfiguraasjes te meitsjen. Mei tank oan mpm-it (Apache module), elk proses rint as in aparte brûker, wat fergruttet it nivo fan feiligens. Dizze metoade lit jo gegevens oer de brûker en syn document_root oerdrage fan Nginx nei Apache2. Sa, Apache befettet gjin side konfiguraasjes, it ûntfangt se dynamysk, en reloads binne net mear nedich.

Apache en Nginx. Ferbûn troch ien keatling
Dielde skema konfiguraasje

Hoe sit it mei Docker?

In protte bedriuwen binne ferhuze nei in container-basearre systeem. Timeweb besjocht op dit stuit de mooglikheid fan sa'n oergong. Fansels binne d'r foar- en neidielen foar elke beslút.

Tegearre mei ûnbestriden foardielen biedt it kontenersysteem de brûker minder boarnen. Yn Timeweb, tank oan it beskreaune hostingskema, hat de brûker gjin beheining yn RAM. It krijt mear middels as yn 'e kontener. Derneist kin de brûker mear Apache-modules laden hawwe.

Timeweb macht oer 500 websiden. Wy nimme grutte ferantwurdlikens en meitsje gjin direkte, ûnrjochtfeardige feroaringen yn komplekse arsjitektuer. De kombinaasje fan Apache en Nginx is betrouber en tiidtest. Wy besykje op syn beurt maksimale prestaasjes te berikken troch unike konfiguraasjes.

Foar hege kwaliteit en rappe operaasje fan in grut oantal siden moatte jo in sjabloan en dynamyske konfiguraasje fan Apache en Nginx brûke. It lit jo maklik en fluch in grut oantal ferlykbere servers beheare.

Boarne: www.habr.com

Add a comment