VestaCP Keď webová služba vyberie šablónu „phpfcgid“, veľké množstvo procesov PHP-CGI spôsobí rýchle vyčerpanie pamäte:
- V podstate mi dochádzala pamäť niekoľko hodín po reštartovaní servera.
- Predtým nečinný proces PHP-CGI nie je zabitý a jeden proces beží takmer 1 podprocesov, ktoré spotrebúvajú najmenej 20 miliónov pamäte.
Používa sa v SSH htop
(vyžaduje sa inštalácia), môžete si pozrieť tento stav ▼
Ak sa pri použití príkazu htop zobrazí chybové hlásenie „-bash: htop: príkaz nenájdený“, riešenie nájdete v tomto návode ▼
Veľké množstvo PHP-CGI procesov spôsobuje rýchle vyčerpanie pamäte.Problém je vo VestaCPCentOSV šablóne phpfcgid sa používa neoptimalizovaná konfigurácia.
- VestaCP v šablóne phpfcgid nastavte 1 proces PHP-CGI na spustenie až 20 podriadených procesov.
Pozri /usr/local/vesta/data/templates/web/httpd/phpfcgid.sh
Riadok 13 súboru:
export PHP_FCGI_CHILDREN=20
Takéto nastavenie však porušuje varovanie Apache v dokumentácii správy podprocesov PHP:
Správa podriadených procesov PHP (PHP_FCGI_CHILDREN) by mal byť vždy zakázaný pomocou mod_fcgid, ktorý bude smerovať vždy len jednu požiadavku na aplikačné procesy, ktoré vytvoril; teda žiadne podriadené procesy vytvorené PHP nebudú efektívne použité. (Navyše, podriadené procesy PHP nemusia byť správne ukončené .) Štandardne as nastavením premennej prostredia PHP_FCGI_CHILDREN=0, Správa podriadených procesov PHP je vypnutá.
Pretože v module mod_fcgid Apache môže proces PHP-CGI odpovedať iba na jednu požiadavku a spustiť sa naraz, podriadený proces PHP-CGI je veľmi neefektívny.
Preto by sa nastavenia pre správu podprocesov PHP mali vypnúť priamo ▼
PHP_FCGI_CHILDREN=0
Zároveň, ak už máte vygenerovaného virtuálneho hostiteľa, musíte upraviť konfiguračné súbory všetkých webových stránok ▼
/home/用户名/web/域名/cgi-bin/fcgi-starter
Po otvorení konfiguračného súboru fcgi-starter vložte nasledujúce ▼
export PHP_FCGI_CHILDREN=20
Upravené na ▼
export PHP_FCGI_CHILDREN=0
- Po úprave bude správa podprocesov PHP vypnutá v režime mod_fcgid.
- Proces PHP-CGI už nebude vytvárať podradené procesy, čo môže ušetriť veľa pamäte.
VestaCP tiež nenastavuje mechanizmus ukončenia pre nečinné procesy:
- Všetky novo spustené procesy PHP-CGI budú naďalej používať pamäť, kým sa systém nereštartuje.
Ak to chcete vyriešiť, pridajte konfiguračný súbor mod_fcgid /etc/httpd/conf.d/fcgid.conf
Do ▼ pridajte nasledujúce nastavenia
FcgidIdleTimeout 120
- Nastavte Apache na automatické zabíjanie procesov PHP-CGI, ktoré sú nečinné 2 minúty (120 sekúnd).
Po dokončení nastavenia reštartujte službu Apache ▼
service httpd restart
Po reštarte služby sa už nebudú zobrazovať stovky procesov PHP-CGI, ktoré boli predtým zobrazené v HTOP.
Jeden proces PHP-CGI pre jedného používateľa Vesta CP zvyčajne spotrebuje 30 až 40 miliónov pamäte, čo plne vyhovujeLinuxpožiadavky na hostiteľa.
preto,Internetový marketingľudia chcú robiť dobreSEO, je veľmi dôležité optimalizovať konfiguráciu Vesta CP a šablón ^_^
Na paneli VestaCP ▼ si môžete pozrieť nasledujúce návody
Predtým blog Chen Weiliang zdieľal návod na inštaláciu a konfiguráciu Monit na CentOS 6 ▼
Konfigurácia monitorovacieho programu Monit v CentOS 7 je však trochu odlišná od konfigurácie v CentOS 6 a nie je úplne rovnaká.Ak ty……Blog Hope Chen Weiliang ( https://www.chenweiliang.com/ ) zdieľal „Optimalizácia procesu konfigurácie šablóny VestaCP phpfcgid pri viacnásobnom vyčerpaní pamäte 500 chýb“, čo je pre vás užitočné.
Vitajte pri zdieľaní odkazu na tento článok:https://www.chenweiliang.com/cwl-735.html
Vitajte na telegramovom kanáli blogu Chen Weiliang, kde získate najnovšie aktualizácie!
📚 Táto príručka obsahuje obrovskú hodnotu, 🌟Toto je vzácna príležitosť, nenechajte si ju ujsť! ⏰⌛💨
Ak sa vám páči, zdieľajte a lajkujte!
Vaše zdieľanie a lajky sú našou neustálou motiváciou!