Pag-optimize ng VestaCP phpfcgid template configuration process multi-memory exhaustion 500 errors

VestaCP Matapos piliin ng serbisyo ng WEB ang template na "phpfcgid", ang malaking bilang ng mga proseso ng PHP-CGI ay nagiging sanhi ng mabilis na pagkaubos ng memorya:

  • Karaniwang nauubusan ako ng memory sa loob ng ilang oras pagkatapos i-restart ang server.
  • Ang dating idle na proseso ng PHP-CGI ay hindi pinapatay, at ang isang proseso ay nagpapatakbo ng halos 1 subprocesses, na kumokonsumo ng hindi bababa sa 20M ng memorya.

Ginamit sa SSH htop command (kailangan ang pag-install), maaari mong tingnan ang status na ito ▼

Matapos piliin ng serbisyo ng WEB ng VestaCP ang template na "phpfcgid", ang malaking bilang ng mga proseso ng PHP-CGI ay nagiging sanhi ng mabilis na pagkaubos ng memorya.

Kung nakakuha ka ng mensahe ng error na "-bash: htop: command not found" kapag ginamit mo ang htop command, pakitingnan ang tutorial na ito para sa solusyon ▼

Ang isang malaking bilang ng mga proseso ng PHP-CGI ay nagiging sanhi ng mabilis na pagkaubos ng memorya. Ang problema ay nasa VestaCPCentOSSa template na phpfcgid, ginagamit ang isang hindi na-optimize na pagsasaayos.

  • VestaCP sa phpfcgid template, magtakda ng 1 PHP-CGI na proseso para magpatakbo ng hanggang 20 child na proseso.

Tingnan mo /usr/local/vesta/data/templates/web/httpd/phpfcgid.sh Linya 13 ng file:

export PHP_FCGI_CHILDREN=20

Gayunpaman, nilalabag ng naturang setup ang babala ni Apache sa dokumentasyon ng pamamahala ng subprocess ng PHP:

PHP child process management (PHP_FCGI_CHILDREN) ay dapat palaging hindi pinagana gamit ang mod_fcgid, na magruruta lamang ng isang kahilingan sa isang pagkakataon sa mga proseso ng aplikasyon na nabuo nito; kaya, ang anumang mga proseso ng bata na nilikha ng PHP ay hindi magagamit nang epektibo. .) Bilang default, at kasama ang setting ng variable ng kapaligiran PHP_FCGI_CHILDREN=0, ang PHP child process management ay hindi pinagana.

Dahil sa mod_fcgid module ng Apache, ang proseso ng PHP-CGI ay maaari lamang tumugon sa isang kahilingan at tumakbo nang sabay-sabay, ang proseso ng bata na PHP-CGI ay napaka hindi epektibo.

Samakatuwid, ang mga setting para sa PHP subprocess management ay dapat na direktang i-disable ▼

PHP_FCGI_CHILDREN=0

Kasabay nito, kung mayroon ka nang nabuong virtual host, kailangan mong baguhin ang configuration file ng lahat ng website ▼

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

Pagkatapos buksan ang fcgi-starter configuration file, ipasok ang sumusunod na ▼

export PHP_FCGI_CHILDREN=20

Baguhin sa ▼

export PHP_FCGI_CHILDREN=0
  • Pagkatapos ng pagbabago, ang pamamahala sa subprocess ng PHP ay isasara sa mod_fcgid mode.
  • Ang proseso ng PHP-CGI ay hindi na magbubunga ng mga proseso ng bata, na makakapagtipid ng maraming memorya.

Gayundin, hindi nagtatakda ang VestaCP ng mekanismo ng pagwawakas para sa mga idle na proseso:

  • Ang lahat ng bagong executed na proseso ng PHP-CGI ay patuloy na gagamit ng memory hanggang sa ma-reboot ang system.

Para ayusin ito, idagdag lang ang mod_fcgid config file /etc/httpd/conf.d/fcgid.conf Idagdag ang mga sumusunod na setting sa ▼

FcgidIdleTimeout 120
  • Itakda ang Apache na awtomatikong patayin ang mga proseso ng PHP-CGI na idle sa loob ng 2 minuto (120 segundo).

Pagkatapos makumpleto ang pag-setup, i-restart ang serbisyo ng Apache ▼

service httpd restart

Pagkatapos ma-restart ang serbisyo, hindi na ipapakita ang daan-daang proseso ng PHP-CGI na dati nang ipinakita sa HTOP.

Karaniwan, ang isang proseso ng PHP-CGI para sa isang gumagamit ng Vesta CP ay kumokonsumo ng 30 hanggang 40M ng memorya, ganap na kasiya-siyaLinuxmga kinakailangan sa host.

samakatuwid,pagmemerkado gamit ang internetnais ng mga tao na gumawa ng mabutiSEO, napakahalagang i-optimize ang configuration ng Vesta CP at mga template ^_^

Maaari mong tingnan ang mga sumusunod na tutorial sa VestaCP panel ▼

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) ibinahagi ang "Pag-optimize ng VestaCP phpfcgid Template Configuration Process Multiple Memory Exhaustion 500 Errors", na nakakatulong sa iyo.

Maligayang pagdating upang ibahagi ang link ng artikulong ito:https://www.chenweiliang.com/cwl-735.html

Maligayang pagdating sa Telegram channel ng blog ni Chen Weiliang para makuha ang pinakabagong mga update!

🔔 Maging una upang makuha ang mahalagang "ChatGPT Content Marketing AI Tool Usage Guide" sa direktoryo ng nangungunang channel! 🌟
📚 Ang gabay na ito ay naglalaman ng malaking halaga, 🌟Ito ay isang bihirang pagkakataon, huwag palampasin ito! ⏰⌛💨
Share and like kung gusto mo!
Ang iyong pagbabahagi at pag-like ay ang aming patuloy na pagganyak!

 

发表 评论

Ang iyong email address ay hindi mai-publish. 必填 项 已 用 * Tatak

mag-scroll sa itaas