VestaCP Пасля таго, як WEB-сэрвіс выбірае шаблон «phpfcgid», вялікая колькасць працэсаў PHP-CGI прыводзіць да хуткага вычарпання памяці:
- Пасля перазапуску сервера ў мяне практычна не хапала памяці на працягу некалькіх гадзін.
- Раней бяздзейны працэс PHP-CGI не спыняецца, і адзін працэс запускае каля 1 падпрацэсаў, спажываючы не менш за 20 МБ памяці.
Выкарыстоўваецца ў SSH htop
(патрабуецца ўстаноўка), вы можаце праглядзець гэты статус ▼
Калі вы атрымліваеце паведамленне пра памылку «-bash: htop: каманда не знойдзена» пры выкарыстанні каманды htop, праглядзіце гэты падручнік для рашэння ▼
Вялікая колькасць працэсаў PHP-CGI прыводзіць да хуткага вычарпання памяці.Праблема заключаецца ў VestaCPCentOSУ шаблоне phpfcgid выкарыстоўваецца неаптымізаваная канфігурацыя.
- VestaCP у шаблоне phpfcgid усталюйце 1 працэс PHP-CGI для запуску да 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-starter устаўце наступны ▼
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 МБ памяці, што цалкам задавальняеLinuxпатрабаванні гаспадара.
таму网络 营销людзі хочуць рабіць добраSEO, вельмі важна аптымізаваць канфігурацыю Vesta CP і шаблонаў ^_^
Вы можаце зірнуць на наступныя падручнікі на панэлі VestaCP ▼
Раней у блогу Чэнь Вэйляна быў апублікаваны падручнік па ўсталёўцы і наладзе Monit на CentOS 6 ▼
Аднак канфігурацыя праграмы маніторынгу Monit у CentOS 7 некалькі адрозніваецца ад канфігурацыі ў CentOS 6, і гэта не зусім тое ж самае.калі ты……Блог Hope Chen Weiliang ( https://www.chenweiliang.com/ ) падзяліўся інфармацыяй "Аптымізацыя працэсу канфігурацыі шаблона VestaCP phpfcgid, некалькі памылак недаатрымання памяці 500", якая будзе карыснай для вас.
Запрашаем падзяліцца спасылкай на гэты артыкул:https://www.chenweiliang.com/cwl-735.html
Сардэчна запрашаем на канал Telegram у блогу Чэнь Вэйляна, каб атрымліваць апошнія абнаўленні!
📚 Гэты дапаможнік мае вялікую каштоўнасць, 🌟Гэта рэдкая магчымасць, не прапусціце яе! ⏰⌛💨
Падзяліцеся і лайкайце, калі хочаце!
Ваш абмен і лайкі - наша пастаянная матывацыя!