Apache & Nginx. Konektita per unu ĉeno

Kiel la kombinaĵo Apache & Nginx estas efektivigita en Timeweb

Por multaj kompanioj, Nginx + Apache + PHP estas tre tipa kaj ofta kombinaĵo, kaj Timeweb ne estas escepto. Tamen, kompreni ĝuste kiel ĝi estas efektivigita povas esti interesa kaj utila.

Apache & Nginx. Konektita per unu ĉeno

La uzo de tia kombinaĵo estas, kompreneble, diktita de la bezonoj de niaj klientoj. Ambaŭ Nginx kaj Apache ludas specialan rolon, ĉiu solvas specifan problemon.

bazaj agordoj Apache estas faritaj en la agordaj dosieroj de Apache mem, kaj agordoj por klientejoj okazas .htaccess dosiero. .htaccess estas agorda dosiero en kiu la kliento povas sendepende agordi la regulojn kaj konduton de la retservilo. Ĉi tiu agordo aplikiĝos specife al lia retejo. Ekzemple, danke al la Apache-funkcio, uzantoj povas ŝanĝi la operacian reĝimon ene de la sama PHP-versio de mod_php al mod_cgi; vi povas agordi alidirektilojn, optimumigo por SEO, oportuna URL, iuj limoj por PHP.

Nginx uzata kiel prokura servilo por redirekti trafikon al Apache kaj kiel retservilo por servi senmovan enhavon. Ni ankaŭ evoluigis sekurecajn modulojn por Nginx, kiuj ebligas al ni protekti datumojn de niaj uzantoj, ekzemple, por apartigi alirrajtojn.

Ni imagu, ke uzanto vizitas la retejon de nia kliento. Unue, la uzanto venas al Nginx, kiu servas statikan enhavon. Ĝi okazas tuj. Tiam, kiam temas pri ŝarĝo de PHP, Nginx plusendas la peton al Apache. Kaj Apache, kune kun PHP, jam generas dinamikan enhavon.

Trajtoj de la pakaĵo Apache & Nginx en Timeweb

Nia virtuala gastigado efektivigas 2 ĉefajn operaciajn skemojn por Apache & Nginx: Kunhavita kaj Dediĉita.

Komuna skemo

Ĉi tiu skemo estas uzata por plej multaj uzantoj. Ĝi distingiĝas per sia simpleco kaj rimeda intenseco: la Komuna skemo uzas malpli da rimedoj, tial ĝia tarifo estas pli malmultekosta. Laŭ ĉi tiu skemo, la servilo kuras unu Nginx, kio permesas al ĝi servi ĉiujn uzantpetojn, kaj plurajn kazojn de Apache.

La Komuna skemo jam delonge pliboniĝas: iom post iom ni korektis la mankojn. Oportune, ĝi povas esti farita sen la bezono modifi la fontkodon.

Apache & Nginx. Konektita per unu ĉeno
Komuna skemo

Dediĉita skemo

Dediĉita postulas pli da rimedoj, do ĝia tarifo estas pli multekosta por klientoj. En la Dediĉita skemo, ĉiu kliento ricevas sian propran apartan Apache. Rimedoj ĉi tie estas rezervitaj por la kliento, ili estas asignitaj ekskluzive. Kiel ĝi funkcias: Estas pluraj versioj de PHP en la servilo. Ni subtenas versiojn 5.3, 5.4, 5.6, 7.1, 7.2, 7.3, 7.4. Do, por ĉiu versio de PHP ĝia propra Apache estas lanĉita.

Apache & Nginx. Konektita per unu ĉeno
Dediĉita skemo

Sekura zono. Agordi zonojn en Nginx

Antaŭe, por Nginx, ni uzis multajn komunajn memorzonojn (zonojn) - unu servila bloko per domajno. Ĉi tiu aranĝo postulas multajn rimedojn, ĉar aparta zono estas kreita por ĉiu retejo. Tamen, en la agordoj de Nginx, la plej multaj retejoj estas de la sama tipo, do ili povas esti metitaj en unu zono danke al la uzo de mapo-direktivoj en la modulo. ngx_http_map_module, kiuj permesas specifi korespondadojn. Ekzemple, ni havas zonŝablonon en kiu ni devas provizi variablojn: vojo al la retejo, PHP-versio, uzanto. Tiel, la relegado de la agordo Nginx, tio estas, la reŝargi, estis akcelita.

Ĉi tiu agordo multe ŝparis RAM-resursojn kaj akcelis Nginx.

Reŝargi ne funkcios!

En la Komuna skemo, ni forigis la bezonon reŝargi Apache dum ŝanĝado de retejo-agordoj. Antaŭe, kiam unu kliento volis aldoni domajnon aŭ ŝanĝi la PHP-version, deviga reŝargo de Apache estis postulata, kio kaŭzis prokrastojn en respondoj kaj negative influis retejan rendimenton.

Ni forigis reŝargojn kreante dinamikajn agordojn. Danke al mpm-itk (Apache-modulo), ĉiu procezo funkcias kiel aparta uzanto, kio pliigas la nivelon de sekureco. Ĉi tiu metodo permesas translokigi datumojn pri la uzanto kaj lia document_root de Nginx al Apache2. Tiel, Apache ne enhavas retejajn agordojn, ĝi ricevas ilin dinamike, kaj reŝargoj ne plu necesas.

Apache & Nginx. Konektita per unu ĉeno
Komuna skemo-agordo

Kio pri Docker?

Multaj firmaoj moviĝis al ujo-bazita sistemo. Timeweb nuntempe pripensas la eblecon de tia transiro. Kompreneble, estas avantaĝoj kaj malavantaĝoj al ĉiu decido.

Kune kun nekontesteblaj avantaĝoj, la ujsistemo provizas la uzanton per malpli da rimedoj. En Timeweb, danke al la priskribita gastiga skemo, la uzanto ne havas limigon en RAM. Ĝi ricevas pli da rimedoj ol en la ujo. Krome, la uzanto eble havas pli da Apache-moduloj ŝarĝitaj.

Timeweb funkciigas ĉirkaŭ 500 retejojn. Ni prenas grandan respondecon kaj ne faras tujajn, nepravigajn ŝanĝojn al kompleksa arkitekturo. La kombinaĵo Apache & Nginx estas fidinda kaj tempelprovita. Ni, siavice, provas atingi maksimuman rendimenton per unikaj agordoj.

Por altkvalita kaj rapida funkciado de granda nombro da retejoj, vi devas uzi ŝablonon kaj dinamikan agordon de Apache kaj Nginx. Ĝi ebligas al vi facile kaj rapide administri grandan nombron da similaj serviloj.

fonto: www.habr.com

Aldoni komenton