VestaCP Miután a WEB szolgáltatás kiválasztja a "phpfcgid" sablont, számos PHP-CGI folyamat a memória gyors kimerülését okozza:
- A szerver újraindítása után néhány órára elfogyott a memóriám.
- A korábban tétlen PHP-CGI folyamat nem szűnik meg, és egy folyamat közel 1 alfolyamatot futtat, és legalább 20 M memóriát fogyaszt.
SSH-ban használják htop
parancsot (telepítés szükséges), megtekintheti ezt az állapotot ▼
Ha a "-bash: htop: parancs nem található" hibaüzenetet kap a htop parancs használatakor, kérjük, olvassa el ezt az oktatóanyagot a megoldásért ▼
A PHP-CGI folyamatok nagy száma miatt a memória gyorsan kimerül, a probléma a VestaCP-ben vanCentOSA phpfcgid sablon optimalizálatlan konfigurációt használ.
- A VestaCP a phpfcgid sablonban állítson be 1 PHP-CGI folyamatot akár 20 gyermekfolyamat futtatására.
请 参阅 /usr/local/vesta/data/templates/web/httpd/phpfcgid.sh
A fájl 13. sora:
export PHP_FCGI_CHILDREN=20
Egy ilyen beállítás azonban sérti az Apache figyelmeztetését a PHP alfolyamatkezelési dokumentációjában:
PHP gyermek folyamatkezelés (PHP_FCGI_CHILDREN) mindig le kell tiltani a mod_fcgid paranccsal, amely egyszerre csak egy kérést irányít az általa létrehozott alkalmazási folyamatokhoz, így a PHP által létrehozott utódfolyamatok nem lesznek hatékonyan felhasználva. (Emellett előfordulhat, hogy a PHP gyermekfolyamatok nem fejeződnek be megfelelően .) Alapértelmezés szerint és a környezeti változó beállításával PHP_FCGI_CHILDREN=0, A PHP gyermekfolyamatok kezelése le van tiltva.
Mivel az Apache mod_fcgid moduljában a PHP-CGI folyamat csak egy kérésre tud válaszolni és egyszerre futni, a PHP-CGI gyermekfolyamat nagyon nem hatékony.
Ezért a PHP alfolyamatok kezelésének beállításait közvetlenül le kell tiltani ▼
PHP_FCGI_CHILDREN=0
Ugyanakkor, ha már rendelkezik generált virtuális gazdagéppel, módosítania kell az összes webhely konfigurációs fájlját ▼
/home/用户名/web/域名/cgi-bin/fcgi-starter
Az fcgi-starter konfigurációs fájl megnyitása után illessze be a következő ▼ fájlt
export PHP_FCGI_CHILDREN=20
Módosítsa ▼-ra
export PHP_FCGI_CHILDREN=0
- Módosítás után a PHP alfolyamatok kezelése mod_fcgid módban ki lesz kapcsolva.
- A PHP-CGI folyamat többé nem hoz létre gyermekfolyamatokat, ami sok memóriát takaríthat meg.
Ezenkívül a VestaCP nem állít be leállítási mechanizmust a tétlen folyamatokhoz:
- Minden újonnan végrehajtott PHP-CGI folyamat továbbra is memóriát használ a rendszer újraindításáig.
Ennek javításához egyszerűen adja hozzá a mod_fcgid konfigurációs fájlt /etc/httpd/conf.d/fcgid.conf
Adja hozzá a következő beállításokat a ▼-ban
FcgidIdleTimeout 120
- Állítsa be az Apache-t, hogy automatikusan leállítsa a 2 percig (120 másodpercig) tétlen PHP-CGI folyamatokat.
A beállítás befejezése után indítsa újra az Apache szolgáltatást ▼
service httpd restart
A szolgáltatás újraindítása után a HTOP-ban korábban megjelenített több száz PHP-CGI-folyamat többé nem jelenik meg.
Általában egyetlen PHP-CGI folyamat egyetlen Vesta CP-felhasználó számára 30-40 M memóriát fogyaszt, ami teljes mértékben kielégíti.Linuxházigazda követelményei.
ezért,网络 营销az emberek jól akarnak lenniSEO, nagyon fontos a Vesta CP és a sablonok konfigurációjának optimalizálása ^_^
Tekintse meg a következő VestaCP panellel kapcsolatos oktatóanyagokat ▼
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ).
Üdvözöljük a cikk linkjének megosztásában:https://www.chenweiliang.com/cwl-735.html
Üdvözöljük Chen Weiliang blogjának Telegram csatornáján, hogy értesüljön a legfrissebb hírekről!
📚 Ez az útmutató hatalmas értéket tartalmaz, 🌟 Ritka lehetőség ez, ne hagyd ki! ⏰⌛💨
Oszd meg és lájkold, ha tetszik!
Az Ön megosztása és lájkja folyamatos motivációnk!