ВестаЦП По изборот на шаблонот „phpfcgid“ за WEB услугата, голем број PHP-CGI процеси предизвикаа брзо трошење на меморијата:
- Во рок од неколку часа по рестартирањето на серверот, во основа му снема меморија.
- Процесот на претходно неактивен PHP-CGI не беше убиен.Еден процес извршуваше скоро 1 под-процеси, трошејќи најмалку 20M меморија.
Се користи во SSH htop Команда (потребна е инсталација), можете да го видите овој статус ▼

Ако ја примите пораката за грешка „-bash: htop: командата не е пронајдена“ кога ја користите командата htop, погледнете го ова упатство за решение ▼
Голем број PHP-CGI процеси предизвикуваат брзо трошење на меморијата.Проблемот лежи во VestaCP.CentOSВо шаблонот phpfcgid, се користи неоптимизирана конфигурација.
- VestaCP поставува 1 процес PHP-CGI во шаблонот phpfcgid за извршување до 20 детски процеси.
Види /usr/local/vesta/data/templates/web/httpd/phpfcgid.sh Линија 13 од датотеката:
export PHP_FCGI_CHILDREN=20
Сепак, таквото поставување го прекршува предупредувањето на Apache во документацијата за управување со потпроцесот на PHP:
Управување со детски процес PHP (PHP_FCGI_CHILDREN) секогаш треба да се оневозможи со mod_fcgid, што ќе насочува само едно барање во исто време до процесите на апликација што ги создал; така, сите процеси на деца создадени од PHP нема да се користат ефективно. (Дополнително, PHP-детските процеси може да не се прекинат правилно .) Стандардно и со поставката за променливата на животната средина PHP_FCGI_CHILDREN=0, Управувањето со детски процес PHP е оневозможено.
Бидејќи во модулот mod_fcgid на Apache, процесот PHP-CGI може да одговори само на едно барање и да работи истовремено, ефикасноста на потпроцесот PHP-CGI е многу мала.
Затоа, треба директно да ги оневозможите поставките за управување со потпроцесот на PHP ▼
PHP_FCGI_CHILDREN=0
Во исто време, ако веќе имате генериран виртуелен домаќин, треба да ги измените конфигурациските датотеки на сите веб-локации ▼
/home/用户名/web/域名/cgi-bin/fcgi-starter
Откако ќе ја отворите конфигурациската датотека fcgi-стартер, променете ја следната содржина▼
export PHP_FCGI_CHILDREN=20
Измени во ▼
export PHP_FCGI_CHILDREN=0
- По измената, управувањето со потпроцесот на PHP ќе се исклучи во режимот mod_fcgid.
- Процесот PHP-CGI повеќе нема да создава детски процеси, што може да заштеди многу меморија.
Исто така, VestaCP не поставува механизам за завршување за процесите во мирување:
- Сите новоизвршени PHP-CGI процеси ќе продолжат да користат меморија додека системот не се рестартира.
За да го решите овој проблем, само додадете ја конфигурациската датотека mod_fcgid /etc/httpd/conf.d/fcgid.conf Додадете ги следните поставки во ▼
FcgidIdleTimeout 120
- Поставете Apache автоматски да го прекинува процесот PHP-CGI ако е во мирување 2 минути (120 секунди).
Откако ќе се завршат поставките, рестартирајте ја услугата Apache ▼
service httpd restart
Откако ќе се рестартира услугата, стотиците процеси PHP-CGI претходно прикажани во HTOP повеќе нема да се прикажуваат.
Обично, еден процес PHP-CGI за еден корисник на Vesta CP троши 30 до 40 M меморија, што е целосно задоволеноLinuxбарања на домаќинот.
затоа,Интернет маркетинглуѓето сакаат да прават доброОптимизација, многу е важно да се оптимизира конфигурацијата на Vesta CP и шаблоните^_^
Можете да ги погледнете следните упатства поврзани со панелот VestaCP ▼
Блог на Hope Chen Weiliang ( https://www.chenweiliang.com/ ) сподели „Оптимизирање на процесот на конфигурација на шаблоните на VestaCP phpfcgid, повеќекратната меморија исцрпи 500 грешки“, ќе ви биде од помош.
Добредојдовте да ја споделите врската од оваа статија:https://www.chenweiliang.com/cwl-735.html



