VestaCP Nakon što WEB servis odabere šablon "phpfcgid", veliki broj PHP-CGI procesa uzrokuje brzo iscrpljivanje memorije:
- U osnovi mi je ponestajalo memorije nekoliko sati nakon ponovnog pokretanja servera.
- Prethodno neaktivni PHP-CGI proces se ne uništava, a jedan proces pokreće skoro 1 podprocesa, trošeći najmanje 20M memorije.
Koristi se u SSH htop
komanda (potrebna je instalacija), možete vidjeti ovaj status ▼
Ako dobijete poruku o grešci "-bash: htop: komanda nije pronađena" kada koristite naredbu htop, pogledajte ovaj vodič za rješenje ▼
Veliki broj PHP-CGI procesa dovodi do brzog iscrpljivanja memorije.Problem je u VestaCPCentOSU phpfcgid šablonu se koristi neoptimizirana konfiguracija.
- VestaCP u phpfcgid šablonu, postavite 1 PHP-CGI proces da pokrene do 20 podređenih procesa.
vidi /usr/local/vesta/data/templates/web/httpd/phpfcgid.sh
Red 13 fajla:
export PHP_FCGI_CHILDREN=20
Međutim, takvo podešavanje krši Apacheovo upozorenje u dokumentaciji za upravljanje podprocesom PHP:
PHP upravljanje podređenim procesima (PHP_FCGI_CHILDREN) uvijek treba biti onemogućen sa mod_fcgid, koji će usmjeravati samo jedan po jedan zahtjev na procese aplikacije koje je pokrenuo; stoga, nijedan podređeni proces kreiran od strane PHP-a neće biti efikasno korišten. (Pored toga, PHP podređeni procesi možda neće biti pravilno prekinuti .) Podrazumevano i sa postavkom varijable okruženja PHP_FCGI_CHILDREN=0, PHP upravljanje podređenim procesima je onemogućeno.
Budući da u Apacheovom mod_fcgid modulu, PHP-CGI proces može odgovoriti samo na jedan zahtjev i pokrenuti se u isto vrijeme, PHP-CGI podređeni proces je vrlo neefikasan.
Stoga, postavke za upravljanje PHP podprocesima treba direktno onemogućiti ▼
PHP_FCGI_CHILDREN=0
U isto vrijeme, ako već imate generirani virtuelni host, morate izmijeniti konfiguracijske datoteke svih web stranica ▼
/home/用户名/web/域名/cgi-bin/fcgi-starter
Nakon otvaranja fcgi-starter konfiguracijske datoteke, umetnite sljedeće ▼
export PHP_FCGI_CHILDREN=20
Izmijeni u ▼
export PHP_FCGI_CHILDREN=0
- Nakon modifikacije, upravljanje PHP podprocesom će biti isključeno u mod_fcgid modu.
- PHP-CGI proces više neće pokretati podređene procese, što može uštedjeti mnogo memorije.
Također, VestaCP ne postavlja mehanizam prekida za neaktivne procese:
- Svi novoizvršeni PHP-CGI procesi će nastaviti da koriste memoriju sve dok se sistem ne pokrene ponovo.
Da biste ovo popravili, samo dodajte konfiguracijsku datoteku mod_fcgid /etc/httpd/conf.d/fcgid.conf
Dodajte sljedeće postavke u ▼
FcgidIdleTimeout 120
- Podesite Apache da automatski ubija PHP-CGI procese koji ne rade 2 minuta (120 sekundi).
Nakon što je podešavanje završeno, ponovo pokrenite Apache uslugu ▼
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 troši 30 do 40M memorije, potpuno zadovoljavajućiLinuxzahtjevi domaćina.
dakle,网络 营销ljudi žele da rade dobroSEO, vrlo je važno optimizirati konfiguraciju Veste CP i šablona ^_^
Možete pogledati sljedeće tutorijale na VestaCP panelu ▼
Prethodno je blog Chen Weilianga dijelio vodič o instaliranju i konfiguraciji Monita na CentOS 6 ▼
Međutim, konfiguracija programa za praćenje Monit u CentOS-u 7 je nešto drugačija od one u CentOS-u 6, i nije potpuno ista.Ako ti……Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) je podijelio "Optimiziranje procesa konfiguracije predloška VestaCP phpfcgid Multiple Memory Exhausted 500 Errors", što vam je od pomoći.
Dobrodošli da podijelite link ovog članka:https://www.chenweiliang.com/cwl-735.html
Dobrodošli na Telegram kanal bloga Chen Weilianga kako biste dobili najnovije informacije!
📚 Ovaj vodič ima ogromnu vrijednost, 🌟Ovo je rijetka prilika, ne propustite je! ⏰⌛💨
Podelite i lajkujte ako želite!
Vaše dijeljenje i lajkovi su naša stalna motivacija!