VestaCP Nakon što WEB servis odabere predložak "phpfcgid", veliki broj PHP-CGI procesa uzrokuje brzo iscrpljivanje memorije:
- Zapravo mi je ponestajalo memorije nekoliko sati nakon ponovnog pokretanja poslužitelja.
- Prethodno neaktivan PHP-CGI proces se ne prekida, a jedan proces pokreće gotovo 1 podprocesa, trošeći najmanje 20M memorije.
Koristi se u SSH htop
naredba (potrebna instalacija), možete vidjeti ovaj status ▼
Ako dobijete poruku o pogrešci "-bash: htop: naredba nije pronađena" kada koristite naredbu htop, pogledajte ovaj vodič za rješenje ▼
Velik broj PHP-CGI procesa uzrokuje brzo pražnjenje memorije.Problem leži u VestaCP-uCentOSU predlošku phpfcgid koristi se neoptimizirana konfiguracija.
- VestaCP u predlošku phpfcgid postavite 1 PHP-CGI proces za pokretanje do 20 podređenih procesa.
请 参阅 /usr/local/vesta/data/templates/web/httpd/phpfcgid.sh
Redak 13 datoteke:
export PHP_FCGI_CHILDREN=20
Međutim, takva postavka krši Apacheovo upozorenje u dokumentaciji za upravljanje PHP potprocesima:
PHP upravljanje podređenim procesom (PHP_FCGI_CHILDREN) uvijek treba biti onemogućen s mod_fcgid, koji će samo jedan po jedan zahtjev usmjeravati na procese aplikacije koje je iznjedrio; stoga se bilo koji podređeni procesi koje je izradio PHP neće učinkovito koristiti. (Dodatno, PHP podređeni procesi možda neće biti pravilno prekinuti .) Prema zadanim postavkama i s postavkom varijable okruženja PHP_FCGI_CHILDREN=0, PHP upravljanje podređenim procesom je onemogućeno.
Budući da u Apacheovom modulu mod_fcgid, PHP-CGI proces može odgovoriti samo na jedan zahtjev i izvoditi se odjednom, PHP-CGI proces dijete je vrlo neučinkovit.
Stoga bi postavke za upravljanje PHP potprocesima trebale biti izravno onemogućene ▼
PHP_FCGI_CHILDREN=0
U isto vrijeme, ako već imate generirani virtualni host, trebate izmijeniti konfiguracijske datoteke svih web stranica ▼
/home/用户名/web/域名/cgi-bin/fcgi-starter
Nakon otvaranja konfiguracijske datoteke fcgi-starter umetnite sljedeće ▼
export PHP_FCGI_CHILDREN=20
Izmijeni u ▼
export PHP_FCGI_CHILDREN=0
- Nakon izmjene, upravljanje PHP potprocesom bit će isključeno u načinu mod_fcgid.
- PHP-CGI proces više neće stvarati podređene procese, što može uštedjeti puno memorije.
Također, VestaCP ne postavlja mehanizam prekida za neaktivne procese:
- Svi novoizvršeni PHP-CGI procesi nastavit će koristiti memoriju dok se sustav ponovno ne pokrene.
Da biste to popravili, samo dodajte konfiguracijsku datoteku mod_fcgid /etc/httpd/conf.d/fcgid.conf
Dodajte sljedeće postavke u ▼
FcgidIdleTimeout 120
- Postavite Apache da automatski ugasi PHP-CGI procese koji su neaktivni 2 minute (120 sekundi).
Nakon dovršetka postavljanja ponovno pokrenite uslugu Apache ▼
service httpd restart
Nakon ponovnog pokretanja usluge, stotine PHP-CGI procesa koji su prethodno bili prikazani u HTOP-u više neće biti prikazani.
Tipično, jedan PHP-CGI proces za jednog korisnika Vesta CP-a troši 30 do 40M memorije, što u potpunosti zadovoljavaLinuxzahtjevi domaćina.
stoga,网络 营销ljudi žele biti dobriSEO, vrlo je važno optimizirati konfiguraciju Vesta CP i predložaka ^_^
Možete pogledati sljedeće upute na ploči VestaCP ▼
Blog Hope Chen Weiliang ( https://www.chenweiliang.com/ ) podijelio je "Optimiziranje VestaCP phpfcgid Template Configuration Process Multiple Memory Exhaustion 500 Errors", što vam je od pomoći.
Dobrodošli da podijelite vezu ovog članka:https://www.chenweiliang.com/cwl-735.html
Dobro došli na Telegram kanal Chen Weiliangovog bloga da dobijete najnovija ažuriranja!
📚 Ovaj vodič ima veliku vrijednost, 🌟 Ovo je rijetka prilika, nemojte je propustiti! ⏰⌛💨
Podijelite i lajkajte ako vam se sviđa!
Vaše dijeljenje i lajkovi naša su stalna motivacija!