VestaCP Etter at WEB-tjenesten velger "phpfcgid"-malen, fører et stort antall PHP-CGI-prosesser til at minnet raskt blir oppbrukt:
- Jeg var i utgangspunktet tom for minne i noen timer etter at jeg startet serveren på nytt.
- Den tidligere inaktive PHP-CGI-prosessen blir ikke drept, og en prosess kjører nesten 1 underprosesser, som bruker minst 20M minne.
Brukes i SSH htop
kommando (installasjon kreves), kan du se denne statusen ▼
Hvis du får en feilmelding "-bash: htop: kommando ikke funnet" når du bruker htop-kommandoen, se denne veiledningen for løsningen ▼
Et stort antall PHP-CGI-prosesser fører til at minnet raskt blir oppbrukt.Problemet ligger i VestaCPCentOSI phpfcgid-malen brukes en uoptimalisert konfigurasjon.
- VestaCP i phpfcgid-malen, sett 1 PHP-CGI-prosess til å kjøre opptil 20 underordnede prosesser.
se /usr/local/vesta/data/templates/web/httpd/phpfcgid.sh
Linje 13 i filen:
export PHP_FCGI_CHILDREN=20
Imidlertid bryter et slikt oppsett Apaches advarsel i PHP-underprosessadministrasjonsdokumentasjonen:
PHP underordnet prosesshåndtering (PHP_FCGI_CHILDREN) bør alltid være deaktivert med mod_fcgid, som bare vil rute én forespørsel om gangen til applikasjonsprosesser den har skapt; dermed vil eventuelle underordnede prosesser opprettet av PHP ikke bli brukt effektivt. (I tillegg kan det hende at PHP-underordnede prosesser ikke avsluttes på riktig måte .) Som standard, og med miljøvariabelinnstillingen PHP_FCGI_CHILDREN=0, PHP underordnet prosessbehandling er deaktivert.
Fordi i Apaches mod_fcgid-modul kan PHP-CGI-prosessen bare svare på én forespørsel og kjøre om gangen, er PHP-CGI-underordnet prosess veldig ineffektiv.
Derfor bør innstillingene for PHP-delprosessadministrasjon deaktiveres direkte ▼
PHP_FCGI_CHILDREN=0
Samtidig, hvis du allerede har en generert virtuell vert, må du endre konfigurasjonsfilene til alle nettsteder ▼
/home/用户名/web/域名/cgi-bin/fcgi-starter
Etter å ha åpnet fcgi-starter-konfigurasjonsfilen, sett inn følgende ▼
export PHP_FCGI_CHILDREN=20
Endre til ▼
export PHP_FCGI_CHILDREN=0
- Etter modifisering vil PHP-underprosessadministrasjonen bli slått av i mod_fcgid-modus.
- PHP-CGI-prosessen vil ikke lenger skape underordnede prosesser, noe som kan spare mye minne.
VestaCP angir heller ikke en termineringsmekanisme for inaktive prosesser:
- Alle nylig utførte PHP-CGI-prosesser vil fortsette å bruke minne til systemet startes på nytt.
For å fikse dette, legg bare til mod_fcgid-konfigurasjonsfilen /etc/httpd/conf.d/fcgid.conf
Legg til følgende innstillinger i ▼
FcgidIdleTimeout 120
- Sett Apache til automatisk å drepe PHP-CGI-prosesser som er inaktive i 2 minutter (120 sekunder).
Etter at oppsettet er fullført, start Apache-tjenesten på nytt ▼
service httpd restart
Etter at tjenesten er startet på nytt, vil de hundrevis av PHP-CGI-prosesser som tidligere ble vist i HTOP ikke lenger vises.
Vanligvis bruker en enkelt PHP-CGI-prosess for en enkelt Vesta CP-bruker 30 til 40 millioner minne, noe som er helt tilfredsstillendeLinuxvertskrav.
derfor,Internettmarkedsføringfolk ønsker å gjøre det braSEO, er det svært viktig å optimalisere konfigurasjonen av Vesta CP og maler ^_^
Du kan ta en titt på følgende veiledninger på VestaCP-panelet ▼
Hope Chen Weiliang blogg ( https://www.chenweiliang.com/ ) delte "Optimizing VestaCP phpfcgid Template Configuration Process Multiple Memory Exhaustion 500 Errors", som er nyttig for deg.
Velkommen til å dele lenken til denne artikkelen:https://www.chenweiliang.com/cwl-735.html
Velkommen til Telegram-kanalen til Chen Weiliangs blogg for å få de siste oppdateringene!
📚 Denne guiden inneholder enorm verdi, 🌟Dette er en sjelden mulighet, ikke gå glipp av den! ⏰⌛💨
Del og lik om du vil!
Din deling og likes er vår kontinuerlige motivasjon!