Apache & Nginx. Bi yek zincîran ve girêdayî ye

Kombînasyona Apache & Nginx çawa di Timeweb de tête bicîh kirin

Ji bo gelek pargîdaniyan, Nginx + Apache + PHP tevliheviyek pir tîpîk û hevpar e, û Timeweb ne îstîsna ye. Lêbelê, têgihîştina tam çawa ew tête bicîh kirin dikare balkêş û kêrhatî be.

Apache & Nginx. Bi yek zincîran ve girêdayî ye

Bikaranîna tevliheviyek wusa, bê guman, ji hêla hewcedariyên xerîdarên me ve tê rêve kirin. Hem Nginx û hem jî Apache rolek taybetî dileyzin, her yek pirsgirêkek taybetî çareser dike.

mîhengên bingehîn Apache di pelên mîhengê yên Apache bixwe de têne kirin, û mîhengên ji bo malperên xerîdar bi rê ve dibin pelê .htaccess. .htaccess pelek veavakirinê ye ku tê de xerîdar dikare bi rengek serbixwe rêgez û tevgerên servera malperê mîheng bike. Ev mîheng dê bi taybetî li ser malpera wî bicîh bibe. Mînakî, bi saya fonksiyona Apache, bikarhêner dikarin di heman guhertoya PHP-ê de moda xebitandinê ji mod_php berbi mod_cgi biguhezînin; hûn dikarin beralîkirinan, xweşbînkirina ji bo SEO, URL-ya hêsan, hin sînor ji bo PHP-ê saz bikin.

nginx wekî serverek proxy tê bikar anîn da ku seyrûsefera Apache-yê veguhezîne û wekî serverek malperê ku naveroka statîk xizmet bike. Di heman demê de me modulên ewlehiyê ji bo Nginx jî pêşve xistine ku dihêle em daneyên bikarhênerên xwe biparêzin, mînakî, mafên gihîştinê ji hev veqetînin.

Ka em bifikirin ku bikarhênerek serdana malpera muwekîlê me dike. Pêşîn, bikarhêner digihîje Nginx, ku naveroka statîk xizmet dike. Ew di cih de dibe. Dûv re, gava ku ew tê barkirina PHP-ê, Nginx daxwazê ​​ji Apache re dişîne. Û Apache, bi PHP-ê re, jixwe naveroka dînamîkî çêdike.

Taybetmendiyên pakêta Apache & Nginx di Timeweb de

Mêvandariya meya virtual ji bo Apache & Nginx 2 nexşeyên xebitandinê yên sereke bicîh tîne: Parvekirî û Xwedî.

Plana hevpar

Ev plan ji bo pir bikarhêneran tê bikar anîn. Ew ji hêla sadebûn û hêza çavkaniyê ve tê veqetandin: Pîlana Hevbeş kêmtir çavkaniyan bikar tîne, ji ber vê yekê tarîfa wê erzantir e. Li gorî vê nexşeyê, server yek Nginx-ê dimeşîne, ku dihêle ew hemî daxwazên bikarhêner, û çend mînakên Apache-yê xizmet bike.

Plana Parvekirî ji demek dirêj ve baştir bûye: hêdî hêdî me kêmasiyan rast kir. Bi hêsanî, ew bêyî hewcedariya guheztina koda çavkaniyê dikare were kirin.

Apache & Nginx. Bi yek zincîran ve girêdayî ye
Plana hevpar

Plana Dedicated

Veqetandî bêtir çavkaniyan hewce dike, ji ber vê yekê tarîfa wê ji bo xerîdaran bihatir e. Di pilana Dedicated de, her xerîdar Apache-ya xweya cihê digire. Çavkaniyên li vir ji bo xerîdar têne veqetandin, ew bi taybetî têne veqetandin. Çawa dixebite: Gelek guhertoyên PHP-ê li ser serverê hene. Em guhertoyên 5.3, 5.4, 5.6, 7.1, 7.2, 7.3, 7.4 piştgirî dikin. Ji ber vê yekê, ji bo her guhertoya PHP-ê Apache-ya xwe tê destpêkirin.

Apache & Nginx. Bi yek zincîran ve girêdayî ye
Plana Dedicated

Herêma ewle. Sazkirina deveran li Nginx

Berê, ji bo Nginx, me gelek deverên bîranîna hevbeş (herêm) bikar anîn - ji her domainê yek bloka serverê. Vê sazkirinê gelek çavkaniyan hewce dike, ji ber ku ji bo her malperê deverek veqetandî tê afirandin. Lêbelê, di mîhengên Nginx de, pir malper ji heman celebê ne, ji ber vê yekê ew dikarin bi saya karanîna rêwerzên nexşeyê di modulê de li yek deverê bêne danîn. ngx_http_map_module, ku destûrê dide te ku hûn pêwendiyan diyar bikin. Mînakî, me şablonek herêmek heye ku tê de divê em guhêrbaran peyda bikin: riya malperê, guhertoya PHP, bikarhêner. Bi vî rengî, ji nû ve xwendina veavakirina Nginx, ango, barkirin, bilez bû.

Vê veavakirinê çavkaniyên RAM-ê pir xilas kir û Nginx lez kir.

Reload dê nexebite!

Di pilana Parvekirî de, me ji hewcedariya ji nû ve barkirina Apache dema ku mîhengên malperê diguhezîne xilas kir. Berê, dema ku xerîdarek dixwest domainek lê zêde bike an guhertoya PHP-ê biguhezîne, ji nû ve barkirina mecbûrî ya Apache-yê hewce bû, ku bû sedema derengiya bersivan û bandorek neyînî li performansa malperê kir.

Me bi afirandina veavakirinên dînamîkî ji nûvekirinan xilas kir. Bi saya mpm-itk (Modula Apache), her pêvajo wekî bikarhênerek cûda dimeşe, ku asta ewlehiyê zêde dike. Ev rêbaz dihêle hûn daneyên di derbarê bikarhêner û belge_root-ê de ji Nginx-ê berbi Apache2 veguhezînin. Bi vî rengî, Apache mîhengên malperê nagire, ew wan bi dînamîk distîne, û ji nû ve barkirin êdî ne hewce ne.

Apache & Nginx. Bi yek zincîran ve girêdayî ye
Veavakirina şemaya hevpar

Li ser Docker çi ye?

Gelek pargîdan derbasî pergalek konteyner-based bûne. Timeweb niha li ser îhtîmala veguherînek weha difikire. Bê guman, ji bo her biryarek erênî û neyînî hene.

Digel avantajên nayên înkarkirin, pergala konteynerê kêmtir çavkaniyan dide bikarhêner. Di Timeweb de, bi saya nexşeya mêvandariyê ya diyarkirî, bikarhêner di RAM-ê de ti sînordar nîne. Ew ji konteynerê bêtir çavkaniyan distîne. Wekî din, dibe ku bikarhêner bêtir modulên Apache-yê barkirî bin.

Timeweb nêzîkî 500 malperan hêz dike. Em berpirsiyariyek mezin digirin ser xwe û di mîmariya tevlihev de guhertinên tavilê, nerast nakin. Kombînasyona Apache & Nginx pêbawer û dem-ceribandin e. Em, di encamê de, hewl didin ku bi konfigurasyonên bêhempa bigihîjin performansa herî zêde.

Ji bo xebata bi kalîte û bilez a hejmareke mezin a malperan, hûn hewce ne ku şablonek û veavakirina dînamîkî ya Apache û Nginx bikar bînin. Ew dihêle hûn bi hêsanî û zû hejmareke mezin ji serverên mîna hev îdare bikin.

Source: www.habr.com

Add a comment