VestaCP phpfcgid կաղապարի կազմաձևման գործընթացի օպտիմիզացում՝ բազմակի հիշողության սպառում 500 սխալներ

VestaCP- ն Այն բանից հետո, երբ WEB ծառայությունը ընտրում է «phpfcgid» ձևանմուշը, մեծ թվով PHP-CGI գործընթացներ հանգեցնում են հիշողությունը արագ սպառելու.

  • Սերվերը վերագործարկելուց հետո մի քանի ժամվա ընթացքում ես հիմնականում սպառվում էի հիշողությունից:
  • Նախկինում անգործուն PHP-CGI գործընթացը չի սպանվում, և մեկ պրոցեսն աշխատում է մոտ 1 ենթապրոցեսներ՝ սպառելով առնվազն 20 մ հիշողություն:

Օգտագործվում է SSH-ում htop հրաման (տեղադրումը պահանջվում է), կարող եք դիտել այս կարգավիճակը ▼

VestaCP վեբ ծառայության համար «phpfcgid» ձևանմուշը ընտրելուց հետո, PHP-CGI պրոցեսների մեծ թիվը արագորեն սպառեց հիշողությունը։

Եթե ​​դուք ստանում եք «-bash: htop: հրամանը չի գտնվել» սխալի հաղորդագրությունը, երբ օգտագործում եք htop հրամանը, խնդրում ենք տեսնել այս ձեռնարկը լուծման համար ▼

PHP-CGI պրոցեսների մեծ քանակությունը հանգեցնում է հիշողության արագ սպառման: Խնդիրը կայանում է VestaCP-ում:CentOSphpfcgid կաղապարում օգտագործվում է չօպտիմիզացված կոնֆիգուրացիա։

  • VestaCP-ն phpfcgid ձևանմուշում սահմանել 1 PHP-CGI պրոցես՝ մինչև 20 երեխա պրոցեսներ գործարկելու համար:

տեսնել /usr/local/vesta/data/templates/web/httpd/phpfcgid.sh Ֆայլի տող 13.

export PHP_FCGI_CHILDREN=20

Այնուամենայնիվ, նման կարգավորումը խախտում է Apache-ի նախազգուշացումը PHP ենթագործընթացների կառավարման փաստաթղթերում.

PHP երեխայի գործընթացի կառավարում (PHP_FCGI_CHILDREN) միշտ պետք է անջատված լինի mod_fcgid-ով, որը միայն մեկ հարցում կուղղորդի դեպի իր կողմից ստեղծված կիրառական գործընթացները, հետևաբար, PHP-ի կողմից ստեղծված ցանկացած զավակային գործընթաց արդյունավետ չի օգտագործվի: (Բացի այդ, PHP-ի երեխայի գործընթացները կարող են պատշաճ կերպով չավարտվել: .) Լռելյայն և շրջակա միջավայրի փոփոխական պարամետրով PHP_FCGI_CHILDREN=0, PHP երեխայի գործընթացի կառավարումն անջատված է:

Քանի որ Apache-ի mod_fcgid մոդուլում PHP-CGI գործընթացը կարող է պատասխանել միայն մեկ հարցման և միաժամանակ գործարկել, PHP-CGI երեխայի գործընթացը շատ անարդյունավետ է:

Հետևաբար, PHP ենթապրոցեսների կառավարման կարգավորումները պետք է ուղղակիորեն անջատվեն ▼

PHP_FCGI_CHILDREN=0

Միևնույն ժամանակ, եթե դուք արդեն ունեք ստեղծված վիրտուալ հոսթ, դուք պետք է փոփոխեք բոլոր վեբ կայքերի կազմաձևման ֆայլերը ▼

/home/用户名/web/域名/cgi-bin/fcgi-starter

fcgi-starter կազմաձևման ֆայլը բացելուց հետո տեղադրեք հետևյալ ▼

export PHP_FCGI_CHILDREN=20

Փոփոխել ▼

export PHP_FCGI_CHILDREN=0
  • Փոփոխությունից հետո PHP ենթապրոցեսների կառավարումը կանջատվի mod_fcgid ռեժիմում:
  • PHP-CGI գործընթացն այլևս չի առաջացնի երեխայի գործընթացները, ինչը կարող է մեծ քանակությամբ հիշողություն խնայել:

Բացի այդ, VestaCP-ն չի սահմանում անգործուն գործընթացների դադարեցման մեխանիզմ.

  • Բոլոր նոր իրականացված PHP-CGI գործընթացները կշարունակեն օգտագործել հիշողությունը, մինչև համակարգը վերաբեռնվի:

Դա շտկելու համար պարզապես ավելացրեք mod_fcgid կազմաձևման ֆայլը /etc/httpd/conf.d/fcgid.conf ▼-ում ավելացրեք հետևյալ կարգավորումները

FcgidIdleTimeout 120
  • Սահմանեք Apache-ն, որպեսզի ավտոմատ կերպով սպանի PHP-CGI գործընթացները, որոնք անգործուն են 2 րոպե (120 վայրկյան):

Կարգավորումն ավարտվելուց հետո վերագործարկեք Apache ծառայությունը ▼

service httpd restart

Ծառայության վերագործարկումից հետո հարյուրավոր PHP-CGI գործընթացները, որոնք նախկինում ցուցադրվել են HTOP-ում, այլևս չեն ցուցադրվի:

Սովորաբար, մեկ PHP-CGI պրոցեսը Vesta CP-ի մեկ օգտագործողի համար սպառում է 30-ից 40 մ հիշողություն, ինչը լիովին բավարարում է:Linuxհյուրընկալողի պահանջները:

հետևաբար,网络 营销մարդիկ ցանկանում են լավ աշխատելSEO, շատ կարևոր է Vesta CP-ի և կաղապարների ^_^ կոնֆիգուրացիան օպտիմալացնելը

Դուք կարող եք դիտել հետևյալ ձեռնարկները VestaCP վահանակի ▼

Հույս Chen Weiliang բլոգ ( https://www.chenweiliang.com/ ) կիսվել է «Optimizing VestaCP phpfcgid Template Configuration Process Multiple Memory Exhaustion 500 Errors», որն օգտակար է ձեզ համար:

Բարի գալուստ՝ կիսելու այս հոդվածի հղումը.https://www.chenweiliang.com/cwl-735.html

Ավելի շատ թաքնված հնարքներ բացահայտելու համար🔑, միացեք մեր Telegram ալիքին։

Տարածեք և հավանեք, եթե ձեզ դուր եկավ: Ձեր կիսումներն ու հավանումները մեր շարունակական շարժառիթն են:

 

发表 评论

Ձեր էլփոստի հասցեն չի հրապարակվի: Օգտագործվում են պահանջվող դաշտերը * Պիտակ

Ոլորել դեպի սկիզբ