VestaCP Interneto paslaugai pasirinkus „phpfcgid“ šabloną, dėl daugelio PHP-CGI procesų atmintis greitai išeikvojama:
- Iš naujo paleidus serverį kelioms valandoms pritrūko atminties.
- Anksčiau neveikiantis PHP-CGI procesas nėra užmuštas, o vienas procesas vykdo beveik 1 antrinių procesų, sunaudojančių mažiausiai 20 M atminties.
Naudojamas SSH htop
komandą (reikia įdiegti), galite peržiūrėti šią būseną ▼
Jei gaunate klaidos pranešimą „-bash: htop: komanda nerasta“, kai naudojate komandą htop, ieškokite šio sprendimo vadovo ▼
Dėl daugelio PHP-CGI procesų atmintis greitai išsenka. Problema slypi VestaCPCentosphpfcgid šablone naudojama neoptimizuota konfigūracija.
- VestaCP phpfcgid šablone nustatykite 1 PHP-CGI procesą, kad būtų paleista iki 20 antrinių procesų.
pamatyti /usr/local/vesta/data/templates/web/httpd/phpfcgid.sh
13 failo eilutė:
export PHP_FCGI_CHILDREN=20
Tačiau tokia sąranka pažeidžia „Apache“ įspėjimą PHP subprocesų valdymo dokumentacijoje:
PHP vaikų procesų valdymas (PHP_FCGI_CHILDREN) visada turėtų būti išjungtas naudojant mod_fcgid, kuris vienu metu nukreips tik vieną užklausą į jos sukurtus taikomųjų programų procesus; todėl bet kokie antriniai PHP sukurti procesai nebus efektyviai naudojami. (Be to, PHP antriniai procesai gali būti netinkamai nutraukti .) Pagal numatytuosius nustatymus ir su aplinkos kintamojo nustatymu PHP_FCGI_CHILDREN=0, PHP vaikų procesų valdymas išjungtas.
Kadangi Apache modulyje mod_fcgid PHP-CGI procesas gali atsakyti tik į vieną užklausą ir paleisti vienu metu, PHP-CGI antrinis procesas yra labai neefektyvus.
Todėl PHP subprocesų valdymo parametrai turėtų būti išjungti tiesiogiai ▼
PHP_FCGI_CHILDREN=0
Tuo pačiu metu, jei jau turite sugeneruotą virtualų pagrindinį kompiuterį, turite pakeisti visų svetainių konfigūracijos failus ▼
/home/用户名/web/域名/cgi-bin/fcgi-starter
Atidarę fcgi-starter konfigūracijos failą, įterpkite šį ▼
export PHP_FCGI_CHILDREN=20
Keisti į ▼
export PHP_FCGI_CHILDREN=0
- Po modifikavimo PHP subprocesų valdymas bus išjungtas mod_fcgid režimu.
- PHP-CGI procesas nebebus sukurs antrinių procesų, o tai gali sutaupyti daug atminties.
Be to, VestaCP nenustato tuščiosios eigos procesų nutraukimo mechanizmo:
- Visi naujai atlikti PHP-CGI procesai ir toliau naudos atmintį, kol sistema bus paleista iš naujo.
Norėdami tai išspręsti, tiesiog pridėkite mod_fcgid konfigūracijos failą /etc/httpd/conf.d/fcgid.conf
Pridėkite šiuos nustatymus ▼
FcgidIdleTimeout 120
- Nustatykite Apache automatiškai naikinti PHP-CGI procesus, kurie yra neaktyvūs 2 minutes (120 sekundžių).
Baigę sąranką, iš naujo paleiskite „Apache“ paslaugą ▼
service httpd restart
Paleidus paslaugą iš naujo, šimtai PHP-CGI procesų, kurie anksčiau buvo rodomi HTOP, nebebus rodomi.
Paprastai vienas PHP-CGI procesas vienam Vesta CP vartotojui sunaudoja nuo 30 iki 40M atminties.Linuxšeimininko reikalavimai.
todėl,Interneto rinkodaražmonės nori daryti geraiSEO, labai svarbu optimizuoti Vesta CP ir šablonų konfigūraciją ^_^
VestaCP skydelyje ▼ galite peržiūrėti šias pamokas
Hope Chen Weiliang tinklaraštis ( https://www.chenweiliang.com/ ).
Kviečiame pasidalinti šio straipsnio nuoroda:https://www.chenweiliang.com/cwl-735.html
Sveiki atvykę į Chen Weiliang tinklaraščio Telegram kanalą, kad gautumėte naujausius atnaujinimus!
📚 Šis vadovas turi didžiulę vertę, 🌟Tai reta galimybė, nepraleiskite jos! ⏰⌛💨
Dalinkitės ir like jei patiko!
Jūsų dalijimasis ir paspaudimai „Patinka“ yra mūsų nuolatinė motyvacija!