Ìwé Directory
- 1 Idi pataki ti PHP-FPM jẹ apọju
- 2 Iṣatunṣe adagun ilana PHP-FPM (atunṣe paramita mojuto)
- 3 Mu ibojuwo ipo PHP-FPM ṣiṣẹ lati tọju abala ilọsiwaju naa nigbakugba
- 4 Mu awọn igbasilẹ PHP-FPM pọ si lati yara yanju awọn iṣoro
- 5 Tun PHP-FPM bẹrẹ nigbagbogbo lati ṣe idiwọ jijo iranti
- 6 Kini ti iṣoro naa ba tẹsiwaju? Siwaju iṣapeye!
- 7 Lakotan: Mu PHP-FPM pọ si ati pe oju opo wẹẹbu kii yoo jamba mọ!
Njẹ o ti pade ipo yii tẹlẹ?Wiwọle oju opo wẹẹbu fa fifalẹ lojiji, tabi paapaa yorisi aṣiṣe 500 Lẹhin ti tun bẹrẹ PHP-FPM, o pada si deede., ṣugbọn iṣoro naa tun han lẹhin igba diẹ? Eleyi jẹ ki idiwọ!
Kini idi ti eyi fi n ṣẹlẹ?Ni otitọ, eyi jẹ igbagbogboAdagun ilana PHP-FPM ko ni tunto daradara, tabi awọn orisun olupin ko to.ṣẹlẹ nipasẹ. Loni, a yoo mu daradara HestiaCP PHP-FPM labẹ hood jẹ ki oju opo wẹẹbu jẹ iduroṣinṣin bi apata!
Idi pataki ti PHP-FPM jẹ apọju
PHP-FPM jẹ aAlakoso ilana, eyi ti o jẹ iduro fun mimu awọn ibeere ti o ni agbara. Ti iṣeto naa ko ba ni oye, o le ja si:
- Awọn orisun olupin ti rẹ, nfa PHP-FPM ko lagbara lati dahun si awọn ibeere titun ni ọna ti akoko;
- Awọn ilana ti o kere ju, nigbati ijabọ lojiji n pọ si, ko le ṣe ilana ni akoko;
- Lilo ilana ti ga ju, nfa awọn Sipiyu fifuye gbamu.

Bii o ṣe le sọ boya PHP-FPM ti pọ ju?
le lo top Tabi htop Paṣẹ lati wo Sipiyu ati lilo iranti:
top -c
Ti o ba rii alaye ilana ti o jọra si atẹle naa, o tumọ si pe PHP-FPM nṣiṣẹ labẹ ẹru giga:
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
Wo bii awọn ilana wọnyi ṣe n gba to ju 70% ti Sipiyu? Ti eyi ba ṣẹlẹ nigbagbogbo, PHP-FPM rẹ Iṣoro gbọdọ wa!
Nitorinaa, bawo ni a ṣe le mu iṣeto PHP-FPM jẹ ki olupin naa ko ni apọju mọ?
Iṣatunṣe adagun ilana PHP-FPM (atunṣe paramita mojuto)
Ni akọkọ, ṣii php-fpm Awọn faili Iṣeto:
sudo nano /etc/php/*/fpm/pool.d/www.conf- *Yipada si ẹya PHP rẹ, gẹgẹbi PHP8.3, ki o si yi pada si eyi:
/etc/php/8.3/fpm/pool.d/www.conf
Beere ẹya PHP ti a ṣeto nipasẹ HestiaCP
v-list-web-domain user domain.com
Fun apẹẹrẹ:
v-list-web-domain abc chenweiliang.com
Ninu iṣẹjade, iwọ yoo rii nkan bii:
PHP SUPPORT yes
PHP MODE php-fpm
PHP VERSION 8.3
Eyi tumọ si pe oju opo wẹẹbu nlo PHP 8.3,
Jẹ ki a wo iṣeto PHP-FPM rẹ:
[chenweiliang.com]
listen = /run/php/php8.3-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
O le rii pe rẹ pm ti a lo ni ondemand,Botilẹjẹpe o le dinku lilo awọn orisun lakoko akoko aiṣiṣẹ, nigbati ijabọ lojiji ba pọ si, ilana naa le ma ni anfani lati dahun ni akoko., Abajade ni a 500 aṣiṣe.
1. Satunṣe PHP-FPM ilana pool sile
Ti iṣeto ba nlo dynamicEyi jẹ ọna ti iṣaaju-bẹrẹ diẹ ninu awọn ilana iṣẹ ati ṣiṣatunṣe ni agbara ni ibamu si iwọn ibeere, eyiti o le dahun ni iyara nigbati iwọn ibeere ba pọ si lojiji.
Fun awọn oju opo wẹẹbu pẹlu iye ijabọ kan, o gba ọ niyanju lati lo pm = dynamicNitoripe o le ṣetọju iye kan ti awọn ilana aiṣiṣẹ ati yago fun awọn aṣiṣe 500 lakoko ibaramu giga.
A ṣe iṣeduro lati lo nikan nigbati iwọn iwọle ba kere pupọ ati pe awọn orisun iranti jẹ ṣinṣin. pm = ondemand Lati fipamọ awọn orisun.
Ti daba lati yipada si ondemand, ati ki o mu dara pm.max_children Ati awọn paramita miiran:
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 后自动退出
Kini idi ti o fẹ yi pada bi eleyi?
pm = dynamic: Pin awọn ilana diẹ sii ni irọrun lati yago fun idaduro ibeere ti o le fa nipasẹ ondemand;pm.max_children = 16: Dena awọn aṣiṣe 500 ti o ṣẹlẹ nipasẹ awọn ilana diẹ diẹ;pm.start_servers = 5: Yẹra fun ibẹrẹ ilana ti o lọra;pm.max_requests = 3000:Idilọwọ awọn n jo iranti, atunlo ilana nigbagbogbo.
2. Ṣe idinwo akoko ipaniyan ti awọn iwe afọwọkọ PHP lati ṣe idiwọ igbaduro igba pipẹ
request_terminate_timeout = 30s ; 超过 30s 的 PHP 脚本自动终止
php_admin_value[memory_limit] = 128M ; 限制 PHP 进程最大内存占用
Eleyi le se diẹ ninu awọnAwọn iwe afọwọkọ PHP ti o lo Sipiyu pupọ le mu mọlẹ olupin rẹ,
Lẹhin fifipamọ, tun bẹrẹ ilana PHP:
sudo systemctl restart php8.3-fpmMu ibojuwo ipo PHP-FPM ṣiṣẹ lati tọju abala ilọsiwaju naa nigbakugba
Mu ibojuwo ilana PHP-FPM ṣiṣẹ ki o wo nigbakugbaNọmba lọwọlọwọ ti awọn ilana ṣiṣe ati ipo iduro ibeere, lati yago fun apọju olupin.
Ninu php-fpm.conf Ṣe afikun si:
pm.status_path = /status
Lẹhinna, iṣeto 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;
}
Ni ọna yii, o le http://yourdomain.com/status Ṣayẹwo PHP-FPM ni iṣe!
Mu awọn igbasilẹ PHP-FPM pọ si lati yara yanju awọn iṣoro
Ninu php-fpm.conf Fi kun un:
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 的脚本记录到日志
Ni ọna yii, nigbakugba ti aṣiṣe 500 ba waye, o le wo akọọlẹ naa taara:
tail -f /var/log/php-fpm/error.log
Wo boya PHP ṣe ijabọ aṣiṣe kan, bii out of memory,script execution timeout 等。?
Tun PHP-FPM bẹrẹ nigbagbogbo lati ṣe idiwọ jijo iranti
anfani lati kọja cron Tun PHP-FPM bẹrẹ nigbagbogbo lati ṣe idiwọ awọn ilana ṣiṣe pipẹ lati faMemory jo,
crontab -e
Ṣafikun iṣẹ ṣiṣe eto atẹle lati tun bẹrẹ PHP-FPM laifọwọyi ni 3 owurọ ni gbogbo ọjọ:
0 3 * * * /usr/sbin/service php8.3-fpm restart
Kini ti iṣoro naa ba tẹsiwaju? Siwaju iṣapeye!
Ti o ba tun tẹle iṣapeye ti o wa lokeNigbakugba awọn aṣiṣe 500 waye, o le tẹsiwaju pẹlu awọn iṣapeye wọnyi:
1. Mu OPcache ṣiṣẹ lati mu iṣẹ ṣiṣe ṣiṣe PHP dara si
Ti OPcache ko ba ṣiṣẹ sibẹsibẹ, o le fi sii bii eyi (lilo Ubuntu gẹgẹbi apẹẹrẹ):
sudo apt install php8.3-opcache -y
Lẹhinna ṣatunkọ php.ini:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=4000
opcache.validate_timestamps=1
Ipa? Iyara ipaniyan oju-iwe PHP ti ni ilọsiwaju pupọ!
2. Nginx iṣeto ni iṣapeye
Rii daju pe awọn paramita ti o ni ibatan Nginx jẹ oye, gẹgẹbi fastcgi_read_timeout Ṣatunṣe ni deede lati yago fun awọn iwe afọwọkọ PHP ti pari nipasẹ Nginx nitori akoko ipaniyan pipẹ:
fastcgi_read_timeout 60s;
client_max_body_size 100M;
Lakotan: Mu PHP-FPM pọ si ati pe oju opo wẹẹbu kii yoo jamba mọ!
Awọn atunṣe wo ni a ti ṣe lẹhin iṣapeye yii?
✅ Ti o dara ju adagun ilana PHP-FPM, lilo ondemandAti ki o je ki pm.max_children paramita;
✅ Idiwọn akoko ipaniyan ti awọn iwe afọwọkọ PHP, lati se gun-igba Sipiyu ojúṣe;
✅ Mu ibojuwo PHP-FPM ṣiṣẹ, wo fifuye ilana ni akoko gidi;
✅ Nmu awọn akọọlẹ PHP-FPM silẹ, ni kiakia laasigbotitusita 500 aṣiṣe;
✅ Tun PHP-FPM bẹrẹ nigbagbogbo, idilọwọ awọn n jo iranti;
✅ Mu OPcache ṣiṣẹ, mu PHP ipaniyan ṣiṣe;
✅ Ṣiṣeto Iṣeto Nginx dara julọ, lati yago fun akoko awọn oran.
Lẹhin iṣapeye yii, fifuye PHP-FPM yoo dinku pupọ ati pe iṣẹ oju opo wẹẹbu yoo jẹ iduroṣinṣin diẹ sii! 🔥
Lọ gbiyanju o bayi! 💪🚀
Ireti Chen Weiliang Blog ( https://www.chenweiliang.com/ ) pín "Ẹrù HestiaCP PHP-FPM ti ga ju? Yiyi oju-iwe ayelujara 500 aṣiṣe? Imudara yii yoo gba ipa lẹsẹkẹsẹ! ”, o le ṣe iranlọwọ fun ọ.
Kaabo lati pin ọna asopọ ti nkan yii:https://www.chenweiliang.com/cwl-32512.html
Lati ṣii awọn ẹtan ti o farapamọ diẹ sii🔑, kaabọ lati darapọ mọ ikanni Telegram wa!
Pin ati fẹran ti o ba fẹran rẹ! Awọn mọlẹbi rẹ ati awọn ayanfẹ jẹ iwuri wa ti o tẹsiwaju!