VestaCP Efter att WEB-tjänsten har valt mallen "phpfcgid", gör ett stort antal PHP-CGI-processer att minnet snabbt töms:
- Jag hade i princip slut på minne i några timmar efter att jag startade om servern.
- Den tidigare inaktiva PHP-CGI-processen dödas inte, och en process kör nästan 1 delprocesser, som förbrukar minst 20 M minne.
Används i SSH htop
kommando (installation krävs), kan du se denna status ▼
Om du får ett felmeddelande "-bash: htop: kommandot hittades inte" när du använder kommandot htop, se den här handledningen för lösningen ▼
Ett stort antal PHP-CGI-processer gör att minnet snabbt töms.Problemet ligger i VestaCPCentOSI phpfcgid-mallen används en ooptimerad konfiguration.
- VestaCP i phpfcgid-mallen, ställ in 1 PHP-CGI-process för att köra upp till 20 underordnade processer.
Ser /usr/local/vesta/data/templates/web/httpd/phpfcgid.sh
Rad 13 i filen:
export PHP_FCGI_CHILDREN=20
En sådan inställning bryter dock mot Apaches varning i PHP-underprocesshanteringsdokumentationen:
PHP underordnad processhantering (PHP_FCGI_CHILDREN) bör alltid inaktiveras med mod_fcgid, som bara dirigerar en begäran åt gången till applikationsprocesser som den har skapat; sålunda kommer alla underordnade processer som skapats av PHP inte att användas effektivt. (Dessutom kan de underordnade PHP-processerna inte avslutas korrekt. .) Som standard och med miljövariabelinställningen PHP_FCGI_CHILDREN=0, PHP underordnad processhantering är inaktiverad.
Eftersom i Apaches mod_fcgid-modul kan PHP-CGI-processen bara svara på en begäran och köras åt gången, är den underordnade PHP-CGI-processen mycket ineffektiv.
Därför bör inställningarna för PHP-underprocesshantering inaktiveras direkt ▼
PHP_FCGI_CHILDREN=0
Samtidigt, om du redan har en genererad virtuell värd, måste du ändra konfigurationsfilerna för alla webbplatser ▼
/home/用户名/web/域名/cgi-bin/fcgi-starter
Efter att ha öppnat fcgi-starter-konfigurationsfilen, infoga följande ▼
export PHP_FCGI_CHILDREN=20
Ändrad till ▼
export PHP_FCGI_CHILDREN=0
- Efter modifiering kommer PHP-underprocesshanteringen att stängas av i mod_fcgid-läge.
- PHP-CGI-processen kommer inte längre att skapa underordnade processer, vilket kan spara mycket minne.
VestaCP ställer inte heller in någon avslutningsmekanism för inaktiva processer:
- Alla nyexekverade PHP-CGI-processer kommer att fortsätta använda minne tills systemet startas om.
För att fixa detta, lägg bara till mod_fcgid-konfigurationsfilen /etc/httpd/conf.d/fcgid.conf
Lägg till följande inställningar i ▼
FcgidIdleTimeout 120
- Ställ in Apache för att automatiskt döda PHP-CGI-processer som är inaktiva i 2 minuter (120 sekunder).
När installationen är klar, starta om Apache-tjänsten ▼
service httpd restart
Efter att tjänsten har startat om kommer de hundratals PHP-CGI-processer som tidigare visades i HTOP inte längre att visas.
Vanligtvis förbrukar en enda PHP-CGI-process för en enda Vesta CP-användare 30 till 40 miljoner minne, vilket är helt tillfredsställandeLinuxvärdkrav.
därför,网络 营销människor vill göra det braSEO, det är mycket viktigt att optimera konfigurationen av Vesta CP och mallar ^_^
Du kan ta en titt på följande handledningar på VestaCP-panelen ▼
Hope Chen Weiliang blogg ( https://www.chenweiliang.com/ ) delade "Optimering av VestaCP phpfcgid Template Configuration Process Multiple Memory Exhausted 500 Errors", vilket är användbart för dig.
Välkommen att dela länken till denna artikel:https://www.chenweiliang.com/cwl-735.html
Välkommen till Telegram-kanalen på Chen Weiliangs blogg för att få de senaste uppdateringarna!
📚 Den här guiden innehåller ett enormt värde, 🌟Detta är ett sällsynt tillfälle, missa inte det! ⏰⌛💨
Dela och gilla om du vill!
Dina delning och likes är vår ständiga motivation!