Papa Kuhikuhi ʻatikala
Ua hālāwai paha ʻoe me kēia kūlana? Lohi koke kāu pūnaewele, a hoʻolei paha i kahi hewa 500. ʻO ka hoʻomaka hou ʻana i ka PHP-FPM e hoʻihoʻi iā ia i ka maʻamau , akā hoʻi hou ka pilikia ma hope o kekahi manawa? He mea hoʻonāukiuki loa ia!
No ke aha kēia e hana ai? ʻOiaʻiʻo, ʻo ka maʻamau, hana ʻia kēia e ka hoʻonohonoho pono ʻole ʻana o ka waihona hana PHP-FPM a i ʻole nā kumuwaiwai kikowaena lawa ʻole . I kēia lā, e hoʻomaikaʻi piha mākou i ka PHP-FPM ma lalo o HestiaCP e hōʻoia i ka paʻa o kāu pūnaewele!
ʻO ke kumu nui i hoʻonui ʻia ai ka PHP-FPM
ʻO PHP-FPM ke luna hana no PHP , kuleana no ka lawelawe ʻana i nā noi dynamic. Hiki i ka hoʻonohonoho kūpono ʻole ke alakaʻi i:
- Ua pau nā kumuwaiwai kikowaena, hiki ʻole iā PHP-FPM ke pane i nā noi hou i ka manawa kūpono;
- Kakaʻikahi loa nā kaʻina hana, ke piʻi koke mai ke kaʻa, ʻaʻole hiki ke hana i ka manawa;
- Kiʻekiʻe loa ka hoʻohana ʻana i ke kaʻina hana, e pahū ana ka ukana CPU.

Pehea e ʻike ai inā ua hoʻonui ʻia ka PHP-FPM?
hiki ke hoʻohana top 或 htop Kauoha e nānā i ka CPU a me ka hoʻohana ʻana i ka hoʻomanaʻo:
top -c
Inā ʻike ʻoe i ka ʻike kaʻina hana e like me kēia, ʻo ia ka mea e holo ana ʻo PHP-FPM ma lalo o ka haʻahaʻa kiʻekiʻe:
1669293 abc 20 0 790284 227880 185568 R 73.1 0.9 1:30.09 php-fpm: pool chenweiliang.com
1669522 abc 20 0 801924 224224 170236 R 69.9 0.9 0:59.01 php-fpm: pool chenweiliang.com
Ke ʻike nei ʻoe i kēia mau kaʻina hana e hoʻohana ana ma mua o 70% o ka CPU? Inā hana pinepine kēia, a laila aia kekahi mea hewa me kāu PHP-FPM!
No laila, pehea e hiki ai iā mākou ke hoʻonui i ka hoʻonohonoho PHP-FPM i ʻole e hoʻonui hou ʻia ke kikowaena?
ʻO PHP-FPM kaʻina wai hoʻopololei (hoʻololi ʻana i nā ʻāpana kumu)
ʻO ka mua, wehe php-fpm Nā waihona hoʻonohonoho:
sudo nano /etc/php/*/fpm/pool.d/www.conf- *E hoʻololi i kāu mana PHP, e like me PHP8.5, a hoʻololi i kēia:
/etc/php/8.3/fpm/pool.d/www.conf
E nīnau i ka mana PHP i hoʻonohonoho ʻia e HestiaCP
v-list-web-domain user domain.com
E.g:
v-list-web-domain abc chenweiliang.com
I ka hopena, e ʻike ʻoe i kahi mea e like me:
PHP SUPPORT yes
PHP MODE php-fpm
PHP VERSION 8.5 Hōʻike kēia e hoʻohana ana ka pūnaewele i ka PHP 8.5.
E nānā kāua i kāu hoʻonohonoho PHP-FPM:
[chenweiliang.com]
listen = /run/php/php8.5-fpm-chenweiliang.com.sock
listen.owner = abc
listen.group = www-data
listen.mode = 0660
user = abc
group = abc
pm = ondemand
pm.max_children = 8
pm.max_requests = 4000
pm.process_idle_timeout = 10s
Hiki iā ʻoe ke ʻike i kāu pm ʻO ka mea i hoʻohana ʻia ondemand,ʻOiai hiki iā ia ke hōʻemi i ka hoʻohana ʻana i nā kumuwaiwai i ka wā hana ʻole, ke piʻi koke ke kaʻa, ʻaʻole hiki i ke kaʻina hana ke pane i ka manawa., ka hopena i ka hewa 500.
www.conf: ʻO ka "waiwai kumuwaiwai honua" i kūkulu ʻia o ka ʻōnaehana
Ma hope o ka hoʻouka ʻana iā PHP-FPM, e hāʻawi koke ka ʻōnaehana iā ʻoe i kahi... www.conf faila
它的Kūlana hoʻonohonohoHe mea maʻalahi loa ia—he waihona hana paʻamau wale nō ia e hana ana ma waho o ka pahu, i hoʻopili pinepine ʻia i... www-ʻike Hoʻoiho mea hoʻohana.
He kūpono loa kēia ʻano loko wai no nā wahi hoʻokahi pūnaewele: he māmā ke ʻano hoʻonohonoho, a he mau mamana maʻamau nā palena a pau, e like me:
user = www-data
group = www-data
listen = /run/php/php8.3-fpm.sock
pm.max_children = 5
Inā ʻoe e hoʻokipa wale i hoʻokahi pūnaewele, hiki iā ʻoe ke hoʻohana pololei a hilinaʻi me ka ʻole o ka pilikia hou.
etufo.org.conf: Waihona maʻamau
Ke holo nei ʻoe i nā pūnaewele he nui, ʻaʻole hiki iā ʻoe ke hoʻopaʻa i nā mea āpau i loko o ka waihona like.
I kēia manawa, e hana aunoa ʻo HestiaCP i kahi waihona ʻokoʻa no kēlā me kēia pūnaewele, no ka laʻana... etufo.org.confKūikawā no nā inoa kikowaena etufo.org 。
ʻO ke ʻano maʻamau o ka pāʻani ʻana:
- E hoʻololi i nā mea hoʻohana a me nā hui:
user = etufo,group = etufo - Ka nānā kūʻokoʻa:
listen = /run/php/etufo.sock - ʻO ka hoʻoponopono ʻana i ka helu o nā kaʻina hana e hōʻoiaʻiʻo ana i ke kūpaʻa paʻa o ka pōhaku ʻoiai ma lalo o ka hui like ʻana kiʻekiʻe.
- ʻO nā faila log kaʻawale e hoʻomaopopo pono i ka pilikia.
Ua maopopo nā pono: ka hoʻokaʻawale palekana . ʻOiai inā ua hoʻopilikia ʻia kekahi wahi, ʻaʻole pilikia nā mea ʻē aʻe.
dummy.conf: faila dummy
dummy.conf ʻO ka maʻamau, he mau laʻana a he mau mamana paha kēia i hāʻawi ʻia e ka ʻōnaehana.
ʻAʻole ia e holo maoli ke ʻole ʻoe e hoʻololi a hoʻā iā ia me ka lima.
ʻO kona koʻikoʻi ua like ia me kahi "manual hana," e haʻi ana iā ʻoe pehea e kākau ai i kahi hoʻonohonoho wai hou.
No ke aha e māhele ai i ka loko?
- 安全 性E hoʻohana i nā mea hoʻohana like ʻole no nā pūnaewele like ʻole e pale aku i nā ʻae kūʻē.
- 性能优化Hiki ke hoʻololi ʻia ka helu o nā kaʻina hana no kēlā me kēia waihona, e ʻae ana i nā hoʻoponopono maʻalahi e pili ana i ke koi o ke kaʻa.
- Hoʻokaʻawale ʻanaUa hoʻokaʻawale ʻia nā log, nā hewa, a me nā helu wahi hoʻolohe, e maʻalahi ai ka hoʻoponopono pilikia.
Eia kekahi laʻana, ʻoiai inā hāʻule ʻo www.conf , e holo mau ana ʻo etufo.org.conf ma ke ʻano maʻamau a ʻaʻole e hoʻohiolo i ka kikowaena holoʻokoʻa.
实际场景
- Kikowaena pūnaewele hoʻokahi: ua lawa ka www.conf.
- Kikowaena pūnaewele lehulehuLoaʻa i kēlā me kēia pūnaewele kāna faila .conf kūʻokoʻa ponoʻī, e like me etufo.org.conf.
- dummy.confNo ka ʻike wale nō, ʻaʻole i manaʻo ʻia.
Hoʻohālikelike Hoʻonohonoho
www.conf (wai paʻamau)
[www]
user = www-data
group = www-data
listen = /run/php/php8.3-fpm.sock
pm = dynamic
pm.max_children = 5
etufo.org.conf (Pūʻulu Wai Maʻamau)
[etufo.org]
user = etufo
group = etufo
listen = /run/php/etufo.sock
pm = dynamic
pm.max_children = 20
access.log = /var/log/php-fpm/etufo.access.log
ʻO nā ʻokoʻa nui: ka ʻike mea hoʻohana, ka helu wahi e hoʻolohe ai, a me ka helu o nā kaʻina hana.
1. Hoʻoponopono i nā ʻāpana kolamu kaʻina hana PHP-FPM
Inā hoʻohana ka hoʻonohonoho dynamicHe ala kēia o ka hoʻomaka mua ʻana i kekahi mau kaʻina hana a me ka hoʻoponopono ʻana iā lākou e like me ka nui o ka noi, hiki ke pane wikiwiki i ka wā e piʻi koke ka nui o ka noi.
No nā pūnaewele me kahi nui o ke kaʻa, pono e hoʻohana pm = dynamicNo ka mea hiki iā ia ke mālama i ka nui o nā kaʻina hana ʻole a pale i nā hewa 500 i ka wā concurrency kiʻekiʻe.
Manaʻo ʻia e hoʻohana wale ia inā haʻahaʻa loa ka leo komo a paʻa nā kumuwaiwai hoʻomanaʻo. pm = ondemand E mālama i nā kumuwaiwai.
Manaʻo ʻia e hoʻololi i dynamic, a hoʻonui pm.max_children A me nā ʻāpana ʻē aʻe:
pm = dynamic
pm.max_children = 16 ; 根据服务器资源调整,建议值:CPU 核心数 × 2
pm.start_servers = 4 ; 初始进程数,建议设为 max_children × 25%
pm.min_spare_servers = 2 ; 最小空闲进程数
pm.max_spare_servers = 7 ; 最大空闲进程数
pm.max_requests = 3000 ; 每个子进程处理完 3000 个请求后自动重启
pm.process_idle_timeout = 10s ; 空闲进程 10s 后自动退出
No ke aha ʻoe e makemake ai e hoʻololi e like me kēia?
pm = dynamic: E hoʻokaʻawale i nā kaʻina hana i ʻoi aku ka maʻalahi no ka pale ʻana i ke noi kali ʻana ma muli o ke koi;pm.max_children = 16: Kāohi i nā hewa 500 i hana ʻia e nā kaʻina liʻiliʻi loa;pm.start_servers = 5: Hōʻalo i ka hoʻomaka ʻana o ka hana lohi;pm.max_requests = 3000:Ke pale ʻana i ka leʻaleʻa hoʻomanaʻo, hana hou i ke kaʻina hana mau.
2. E kaupalena i ka manawa hoʻokō o nā palapala PHP e pale i ka noho lōʻihi
request_terminate_timeout = 30s ; 超过 30s 的 PHP 脚本自动终止
php_admin_value[memory_limit] = 128M ; 限制 PHP 进程最大内存占用
Pale kēia i kekahi mau palapala PHP e hoʻopau ana i ka CPU nui mai ka hāʻule ʻana o ke kikowaena.
Ma hope o ka mālama ʻana, e hoʻomaka hou i ke kaʻina hana PHP:
sudo systemctl restart php8.3-fpmE hoʻonui i ka PHP-FPM ma muli o ka hoʻonohonoho VPS
Laʻana hoʻonohonoho VPS:
- Ka wehewehe: VPS 3 NVMe
- Mokuna pā hōkū: 300 GB
- Nā ʻiʻo CPU: 8
- Hipa kāne: 24 GB
Ma muli o kāu hoʻonohonoho VPS ( 8 mau ʻāpana CPU, 24 GB RAM ), ua lawa nā kumuwaiwai o kāu kikowaena. No PHP-FPM, hiki iā 24 GB o RAM ke hoʻonohonoho i kahi helu nui o nā kaʻina hana like.
Ma kahi ʻano hana, hāʻawi pinepine mākou i ka hoʻomanaʻo lawa (e like me 8GB-12GB) no ka ʻōnaehana ponoʻī, nā waihona ʻikepili Apache (e like me MySQL / MariaDB), a me nā cache (e like me Redis / Memcached ), e waiho ana i ke koena 12GB-16GB o ka hoʻomanaʻo e hoʻokaʻawale piha ʻia i ka PHP-FPM.
Ma muli o ka hoʻohana ʻana i ka hoʻomanaʻo maʻamau o 40MB-60MB no kēlā me kēia kaʻina hana PHP , hiki i ka 1GB o ka hoʻomanaʻo ke holo i kahi o 16-25 mau kaʻina hana.
Eia ka hoʻonohonoho FPM hana kiʻekiʻe-concurrency, i hana ʻia no ʻoe , hiki ke hoʻomaikaʻi nui i ka hiki o WordPress a pale iā ia mai ka hāʻule ʻana ma muli o ka piʻi koke ʻana o ke kaʻa:
pm = dynamic
; 允许的最大 PHP 进程数(12GB 内存 / 40MB ≈ 300)
; 8核CPU搭配300个进程,可以轻松应对极高并发,且不至于让内存溢出
pm.max_children = 300
; 启动时创建的初始进程数(CPU核心数 * 4)
pm.start_servers = 32
; 维持的最小空闲进程数(服务器空闲时保留的进程,保证随时响应)
pm.min_spare_servers = 16
; 维持的最大空闲进程数(超过这个数量的空闲进程会被释放)
pm.max_spare_servers = 64
; 每个进程处理1000个请求后自动重启,高配置服务器可适当调大,有效防止WP插件内存泄露
pm.max_requests = 1000
; 单个请求最大执行时间,超时60秒强杀,防止死锁卡死
request_terminate_timeout = 60s
; 慢日志路径及触发阈值(请求超过5秒则记录,用于排查性能瓶颈)
slowlog = /var/log/php8.5-fpm.log.slow
request_slowlog_timeout = 5s
💡 No ke aha i kēia hoʻonohonoho ʻana?
pm.max_children = 300He hoʻonohonoho koʻikoʻi kēia. ʻOi aku ka mālama ʻole o kāu hoʻonohonoho mua ʻana o 50 mau kaʻina hana no 24GB o ka hoʻomanaʻo. Ke hālāwai me ka piʻi koke ʻana o ke kaʻa (a i ʻole nā bots e hoʻopiha ana i ke kua), e hoʻopau koke ʻia nā kaʻina hana 50, e hoʻopau ana i nā manawa pili. ʻO ka hoʻonui ʻana i 300 hiki ke hoʻomaikaʻi i ka hiki ke hana like o kāu kikowaena i nā manawa he nui.pm.start_servers/ nā kikowaena_ʻokoʻa_minNo ka mea he 8 mau ʻāpana CPU kāu, hiki iā ʻoe ke mālama mua a maʻamau i nā kaʻina hana ʻole, ka mea e hiki ai iā ʻoe ke hoʻohana pono i ka pono multi-core i hiki ke wehe koke ʻia nā noi hou me ka ʻole o ke kali ʻana i ka hoʻokumu ʻana o ke kaʻina hana.pm.max_requests = 1000E hoʻonui mai 500 a i 1000. He nui kou hoʻomanaʻo, a ʻaʻole pono e hoʻomaka hou ʻia nā kaʻina hana. ʻO ka hoʻonui ʻana i 1000 hiki ke hōʻemi i ka hoʻohana ʻana o ka CPU i hoʻokumu ʻia e ka luku pinepine ʻana a me ka hana ʻana i nā kaʻina hana.
E nānā i ka moʻolelo lohi:
tail -f /var/log/php8.5-fpm.log.slowtail -f /var/log/php8.4-fpm.log.slow
Ma hope o ka hana ʻana i nā hoʻololi, e hoʻomanaʻo e hoʻomaka hou i ka lawelawe PHP-FPM no ka hoʻokō ʻana o nā hoʻololi.
systemctl restart php8.5-fpmE ʻae i ka nānā ʻana i ke kūlana PHP-FPM e mālama i ka holomua i kēlā me kēia manawa
ʻO ka hoʻā ʻana i ka nānā ʻana i ke kaʻina hana PHP-FPM e hiki ai iā ʻoe ke nānā i ka helu o nā kaʻina hana a noi i ke kūlana kali i kēlā me kēia manawa , e pale ana i ka overload kikowaena.
I php-fpm.conf Hoʻohui ʻia i:
pm.status_path = /status
A laila, hoʻonohonoho Nginx:
location /status {
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
allow 127.0.0.1;
deny all;
}
Ma kēia ala, hiki iā ʻoe http://yourdomain.com/status E nānā i ka PHP-FPM i ka hana!
E hoʻonui i nā lāʻau PHP-FPM e hoʻoponopono wikiwiki i nā pilikia
I php-fpm.conf Hoʻohui i:
php_admin_value[error_log] = /var/log/php-fpm/error.log
php_admin_value[log_errors] = On
php_admin_value[error_reporting] = E_ALL
slowlog = /var/log/php-fpm/slow.log
request_slowlog_timeout = 5s ; 执行超过 5s 的脚本记录到日志
Ma kēia ala, i ka wā e loaʻa ai kahi hewa 500, hiki iā ʻoe ke nānā pololei i ka log:
tail -f /var/log/php-fpm/error.log
E nānā inā hōʻike ʻo PHP i kahi hewa, e like me out of memory,script execution timeout 。
E hoʻomaka hou i ka PHP-FPM i kēlā me kēia manawa no ka pale ʻana i ka lepa hoʻomanaʻo
hiki ke hala cron E hoʻomaka hou i ka PHP-FPM e pale i nā kaʻina hana lōʻihi mai ka hana ʻanaLeʻa hoʻomanaʻo.
crontab -e
Hoʻohui i kēia hana i hoʻonohonoho ʻia e hoʻomaka hou i ka PHP-FPM ma 3 am i kēlā me kēia lā:
0 3 * * * /usr/sbin/service php8.5-fpm restart
Pehea inā hoʻomau ka pilikia? Hoʻonui hou aku!
Inā loaʻa iā ʻoe kekahi hewa 500 ma hope o ka hahai ʻana i nā hoʻonohonoho ʻana i luna , hiki iā ʻoe ke hoʻomau me nā hoʻonohonoho ʻana ma lalo nei:
1. Hiki iā OPcache ke hoʻomaikaʻi i ka pono o ka hoʻokō PHP
Inā ʻaʻole hiki ke hoʻohana ʻia ʻo OPcache, hiki iā ʻoe ke hoʻokomo iā ia e like me kēia (me ka hoʻohana ʻana iā Ubuntu ma ke ʻano he laʻana):
sudo apt install php8.5-opcache -y
A laila hoʻoponopono php.ini:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=4000
opcache.validate_timestamps=0
- opcache.validate_timestamps=0
- E hoʻopau i ka ʻike ʻana i ka manawa maoliE hōʻemi i ka I/O ʻōnaehana faila a hoʻomaikaʻi i ka hana.
Eia nō naʻe, ʻo ia hoʻi, pono ʻoe e holoi lima i ka cache (e hoʻomaka hou i ka lawelawe PHP) ma hope o ka hoʻololi ʻana i nā faila PHP.
Ma hope o ka hoʻololi ʻana i ka hoʻonohonoho ʻana, pono ʻoe e hoʻomaka hou i ka lawelawe PHP no ka hoʻokō ʻana o nā loli.
sudo systemctl restart php<版本>-fpmKa hopena? Ua hoʻomaikaʻi nui ʻia ka wikiwiki o ka hoʻokō ʻana i ka ʻaoʻao PHP!
2. Hoʻoponopono hoʻonohonoho Nginx
E hōʻoia he kūpono nā palena pili Nginx, e like me fastcgi_read_timeout E hoʻoponopono pono i ka pale ʻana i nā palapala PHP e hoʻopau ʻia e Nginx ma muli o ka lōʻihi o ka manawa hoʻokō:
fastcgi_read_timeout 60s;
client_max_body_size 100M;
Hōʻuluʻulu manaʻo: E hoʻonui i ka PHP-FPM a ʻaʻole e hāʻule hou ka pūnaewele!
He aha nā hoʻololi a mākou i hana ai ma hope o kēia loiloi?
✅ Hoʻonui i ka waihona kaʻina hana PHP-FPM, hoʻohana ondemandA hoʻonui pm.max_children hoʻohālikelike;
✅ Hoʻopili i ka manawa hoʻokō o nā palapala PHP, e pale i ka noho CPU no ka manawa lōʻihi;
✅ E ho'ā i ka nānā ʻana iā PHP-FPM, nānā i ke kaʻina hana i ka manawa maoli;
✅ Hoʻonui i nā moʻolelo PHP-FPM, hoʻoponopono wikiwiki i nā hewa 500;
✅ Hoʻomaka hou PHP-FPM mau, pale i ka hoʻomanaʻo leaks;
✅ E ho'ā i ka OPcache, hoʻomaikaʻi i ka pono hoʻokō PHP;
✅ Hoʻonui i ka hoʻonohonoho Nginx, e pale i nā pilikia manawa.
Ma hope o kēia loiloi, e hoʻemi nui ʻia ka ukana PHP-FPM a ʻoi aku ka paʻa o ka hana pūnaewele! 🔥
E ho'āʻo i kēia manawa! 💪🚀
Inā makemake nui ʻoe e aʻo hou e pili ana i ka hoʻopilikino ʻana i nā mamana PHP-FPM me HestiaCP, a laila e hāʻawi kēia ʻatikala iā ʻoe i kahi ʻike hohonu:
👉 Hoʻohālike PHP-FPM maʻamau ʻo HestiaCP: Nā Mea Huna Hoʻonui Hana PHP 8.5 ▼
Ma kēia ʻike, e ʻike ʻoe:
- Nā ʻenehana hoʻonohonoho hoʻonui kiʻekiʻe-concurrency: Pehea e hoʻomaikaʻi ai i ka wikiwiki o ka pane ma o ka hoʻonohonoho ʻana i ke kaʻina hana kūpono.
- Hoʻonā hoʻokaʻawale palekana: E pale i nā pilikia komo ma waena o nā pūnaewele a hōʻoia i ke kūpaʻa o ka moʻokāki.
- Nā Log a me ka nānā ʻana: E hoʻohana i nā log lohi e ʻike i nā bottlenecks a hoʻomau i ka hoʻomaikaʻi ʻana i ka hana pūnaewele.
Me ka manaʻolana, e kōkua iā ʻoe ka ʻatikala "HestiaCP PHP-FPM Overload? Dynamic Webpage 500 Error? This Optimization Method Will Show Immediate Results!" i kaʻana like ʻia ma ka blog a Chen Weiliang ( https://www.chenweiliang.com/ ).
E ʻoluʻolu e kaʻana like i ka loulou o kēia ʻatikala: https://www.chenweiliang.com/cwl-32512.html

