Apache a Nginx. Wedi'i gysylltu gan un gadwyn

Sut mae'r cyfuniad Apache a Nginx yn cael ei weithredu yn Timeweb

I lawer o gwmnïau, mae Nginx + Apache + PHP yn gyfuniad nodweddiadol a chyffredin iawn, ac nid yw Timeweb yn eithriad. Fodd bynnag, gall deall yn union sut y caiff ei weithredu fod yn ddiddorol ac yn ddefnyddiol.

Apache a Nginx. Wedi'i gysylltu gan un gadwyn

Mae'r defnydd o gyfuniad o'r fath, wrth gwrs, yn dibynnu ar anghenion ein cleientiaid. Mae Nginx ac Apache yn chwarae rhan arbennig, mae pob un yn datrys problem benodol.

gosodiadau sylfaenol Apache yn cael eu perfformio yn ffeiliau cyfluniad Apache ei hun, ac mae gosodiadau ar gyfer gwefannau cleientiaid yn digwydd drwodd ffeil .htaccess. Mae .htaccess yn ffeil ffurfweddu lle gall y cleient ffurfweddu rheolau ac ymddygiad y gweinydd gwe yn annibynnol. Bydd y gosodiad hwn yn berthnasol i'w wefan yn benodol. Er enghraifft, diolch i ymarferoldeb Apache, gall defnyddwyr newid y modd gweithredu o fewn yr un fersiwn PHP o mod_php i mod_cgi; gallwch sefydlu ailgyfeiriadau, optimeiddio ar gyfer SEO, URL cyfleus, rhai terfynau ar gyfer PHP.

Nginx yn cael ei ddefnyddio fel gweinydd dirprwyol i ailgyfeirio traffig i Apache ac fel gweinydd gwe i wasanaethu cynnwys statig. Rydym hefyd wedi datblygu modiwlau diogelwch ar gyfer Nginx sy'n ein galluogi i ddiogelu data ein defnyddwyr, er enghraifft, i wahanu hawliau mynediad.

Gadewch i ni ddychmygu bod defnyddiwr yn ymweld â gwefan ein cleient. Yn gyntaf, mae'r defnyddiwr yn cyrraedd Nginx, sy'n gwasanaethu cynnwys statig. Mae'n digwydd ar unwaith. Yna, o ran llwytho PHP, mae Nginx yn anfon y cais ymlaen at Apache. Ac mae Apache, ynghyd â PHP, eisoes yn cynhyrchu cynnwys deinamig.

Nodweddion bwndel Apache & Nginx yn Timeweb

Mae ein hosting rhithwir yn gweithredu 2 brif gynllun gweithredu ar gyfer Apache & Nginx: Wedi'i Rhannu ac Ymroddedig.

Cynllun a rennir

Defnyddir y cynllun hwn ar gyfer y rhan fwyaf o ddefnyddwyr. Mae’n cael ei wahaniaethu gan ei symlrwydd a dwyster adnoddau: mae’r cynllun Shared yn defnyddio llai o adnoddau, a dyna pam mae ei dariff yn rhatach. Yn ôl y cynllun hwn, mae'r gweinydd yn rhedeg un Nginx, sy'n caniatáu iddo wasanaethu pob cais defnyddiwr, a sawl achos o Apache.

Mae'r cynllun a Rennir wedi bod yn gwella ers amser maith: yn raddol fe wnaethom gywiro'r diffygion. Yn gyfleus, gellir ei wneud heb yr angen i addasu'r cod ffynhonnell.

Apache a Nginx. Wedi'i gysylltu gan un gadwyn
Cynllun a rennir

Cynllun pwrpasol

Mae angen mwy o adnoddau ar gyfer ymroddedig, felly mae ei dariff yn ddrutach i gwsmeriaid. Yn y cynllun Ymroddedig, mae pob cleient yn cael ei Apache ar wahân ei hun. Mae adnoddau yma yn cael eu cadw ar gyfer y cleient, maent yn cael eu dyrannu yn unig. Sut mae'n gweithio: Mae sawl fersiwn o PHP ar y gweinydd. Rydym yn cefnogi fersiynau 5.3, 5.4, 5.6, 7.1, 7.2, 7.3, 7.4. Felly, ar gyfer pob fersiwn o PHP mae ei Apache ei hun yn cael ei lansio.

Apache a Nginx. Wedi'i gysylltu gan un gadwyn
Cynllun pwrpasol

Parth diogel. Sefydlu parthau yn Nginx

Yn flaenorol, ar gyfer Nginx, gwnaethom ddefnyddio llawer o barthau cof a rennir (parthau) - un bloc gweinydd fesul parth. Mae angen llawer o adnoddau ar gyfer y gosodiad hwn, gan fod parth ar wahân yn cael ei greu ar gyfer pob gwefan. Fodd bynnag, yn y gosodiadau Nginx, mae'r rhan fwyaf o wefannau o'r un math, felly gellir eu gosod mewn un parth diolch i'r defnydd o gyfarwyddebau map yn y modiwl ngx_http_map_modiwl, sy'n caniatáu ichi nodi gohebiaeth. Er enghraifft, mae gennym dempled parth lle mae'n rhaid i ni gyflenwi newidynnau: llwybr i'r wefan, fersiwn PHP, defnyddiwr. Felly, cyflymwyd ail-ddarllen cyfluniad Nginx, hynny yw, yr ail-lwytho.

Arbedodd y cyfluniad hwn adnoddau RAM yn fawr a chyflymodd Nginx.

Ni fydd ail-lwytho yn gweithio!

Yn y cynllun Shared, cawsom wared ar yr angen i ail-lwytho Apache wrth newid gosodiadau gwefan. Yn flaenorol, pan oedd un cleient eisiau ychwanegu parth neu newid y fersiwn PHP, roedd angen ail-lwythiad gorfodol o Apache, a arweiniodd at oedi mewn ymatebion ac effeithio'n negyddol ar berfformiad y wefan.

Cawsom wared ar ail-lwytho trwy greu ffurfweddiadau deinamig. Diolch i mpm-itk (modiwl Apache), mae pob proses yn rhedeg fel defnyddiwr ar wahân, sy'n cynyddu lefel y diogelwch. Mae'r dull hwn yn caniatáu ichi drosglwyddo data am y defnyddiwr a'i document_root o Nginx i Apache2. Felly, nid yw Apache yn cynnwys ffurfweddiadau safle, mae'n eu derbyn yn ddeinamig, ac nid oes angen ail-lwytho mwyach.

Apache a Nginx. Wedi'i gysylltu gan un gadwyn
Ffurfweddiad sgema a rennir

Beth am Docker?

Mae llawer o gwmnïau wedi symud i system sy'n seiliedig ar gynhwysydd. Mae Timeweb ar hyn o bryd yn ystyried y posibilrwydd o drosglwyddo o'r fath. Wrth gwrs, mae manteision ac anfanteision i bob penderfyniad.

Ynghyd â manteision diymwad, mae'r system cynhwysydd yn rhoi llai o adnoddau i'r defnyddiwr. Yn Timeweb, diolch i'r cynllun cynnal a ddisgrifir, nid oes gan y defnyddiwr unrhyw gyfyngiad o ran RAM. Mae'n derbyn mwy o adnoddau nag yn y cynhwysydd. Yn ogystal, efallai y bydd gan y defnyddiwr fwy o fodiwlau Apache wedi'u llwytho.

Mae Timeweb yn pweru tua 500 o wefannau. Rydym yn cymryd cyfrifoldeb mawr ac nid ydym yn gwneud newidiadau ar unwaith, heb gyfiawnhad i bensaernïaeth gymhleth. Mae'r cyfuniad Apache a Nginx yn ddibynadwy ac wedi'i brofi gan amser. Rydyn ni, yn ein tro, yn ceisio cyflawni'r perfformiad mwyaf posibl trwy gyfluniadau unigryw.

Ar gyfer gweithrediad cyflym o ansawdd uchel nifer fawr o wefannau, mae angen i chi ddefnyddio templed a chyfluniad deinamig o Apache a Nginx. Mae'n caniatáu ichi weinyddu nifer fawr o weinyddion tebyg yn hawdd ac yn gyflym.

Ffynhonnell: hab.com

Ychwanegu sylw