VestaCP Després que el servei WEB selecciona la plantilla "phpfcgid", un gran nombre de processos PHP-CGI fan que la memòria s'esgoti ràpidament:
- Bàsicament em vaig quedar sense memòria durant unes hores després de reiniciar el servidor.
- El procés PHP-CGI anteriorment inactiu no s'elimina i un procés executa prop de 1 subprocessos, consumint almenys 20 M de memòria.
S'utilitza en SSH htop comanda (instal·lació necessària), podeu veure aquest estat ▼

Si rebeu un missatge d'error "-bash: htop: command not found" quan feu servir l'ordre htop, consulteu aquest tutorial per a la solució ▼
Un gran nombre de processos PHP-CGI fan que la memòria s'esgoti ràpidament.El problema rau en VestaCPCentOSA la plantilla phpfcgid, s'utilitza una configuració no optimitzada.
- VestaCP a la plantilla phpfcgid, configureu 1 procés PHP-CGI per executar fins a 20 processos fills.
veure /usr/local/vesta/data/templates/web/httpd/phpfcgid.sh Línia 13 del fitxer:
export PHP_FCGI_CHILDREN=20
Tanmateix, aquesta configuració viola l'advertència d'Apache a la documentació de gestió de subprocés de PHP:
Gestió de processos fill PHP (PHP_FCGI_CHILDREN) sempre s'ha de desactivar amb mod_fcgid, que només encaminarà una sol·licitud a la vegada als processos d'aplicació que ha generat; per tant, els processos fills creats per PHP no s'utilitzaran de manera eficaç. (A més, és possible que els processos fills de PHP no s'acabin correctament). .) Per defecte, i amb la configuració de la variable d'entorn PHP_FCGI_CHILDREN=0, la gestió de processos fill PHP està desactivada.
Com que al mòdul mod_fcgid d'Apache, el procés PHP-CGI només pot respondre a una sol·licitud i executar-se alhora, el procés fill PHP-CGI és molt ineficient.
Per tant, la configuració per a la gestió de subprocés PHP s'hauria de desactivar directament ▼
PHP_FCGI_CHILDREN=0
Al mateix temps, si ja teniu un host virtual generat, haureu de modificar els fitxers de configuració de tots els llocs web ▼
/home/用户名/web/域名/cgi-bin/fcgi-starter
Després d'obrir el fitxer de configuració fcgi-starter, inseriu el següent ▼
export PHP_FCGI_CHILDREN=20
Modificat a ▼
export PHP_FCGI_CHILDREN=0
- Després de la modificació, la gestió de subprocés PHP es desactivarà en mode mod_fcgid.
- El procés PHP-CGI ja no generarà processos fills, cosa que pot estalviar molta memòria.
A més, VestaCP no estableix un mecanisme de terminació per als processos inactius:
- Tots els processos PHP-CGI recentment executats continuaran utilitzant memòria fins que es reiniciï el sistema.
Per solucionar-ho, només cal que afegiu el fitxer de configuració mod_fcgid /etc/httpd/conf.d/fcgid.conf Afegiu la configuració següent a ▼
FcgidIdleTimeout 120
- Configureu Apache per matar automàticament els processos PHP-CGI que estiguin inactius durant 2 minuts (120 segons).
Un cop finalitzada la configuració, reinicieu el servei Apache ▼
service httpd restart
Després de reiniciar el servei, els centenars de processos PHP-CGI que es mostraven anteriorment a HTOP ja no es mostraran.
Normalment, un sol procés PHP-CGI per a un sol usuari de Vesta CP consumeix entre 30 i 40 M de memòria, la qual cosa satisfà completamentLinuxrequisits de l'amfitrió.
per tant,Màrqueting a Internetla gent vol fer-ho béSEO, és molt important optimitzar la configuració de Vesta CP i plantilles ^_^
Podeu fer una ullada als tutorials següents al tauler VestaCP ▼
Bloc d'Hope Chen Weiliang ( https://www.chenweiliang.com/ ) va compartir "Optimització de 500 errors d'esgotament de memòria múltiple del procés de configuració de la plantilla de VestaCP phpfcgid", cosa que us serà útil.
No dubteu a compartir l'enllaç d'aquest article: https://www.chenweiliang.com/cwl-735.html



