Након одабира шаблона „phpfcgid“ за веб сервис VestaCP , велики број PHP-CGI процеса је брзо исцрпео меморију.
- У основи ми је понестајало меморије неколико сати након поновног покретања сервера.
- Претходно неактиван ПХП-ЦГИ процес се не уништава, а један процес покреће скоро 1 подпроцеса, трошећи најмање 20М меморије.
Користи се у ССХ htop команда (потребна је инсталација), можете видети овај статус ▼

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



