Uhla lwemibhalo ye-athikili
- 1 Isizathu esiyinhloko sokuthi kungani i-PHP-FPM igcwele ngokweqile
- 2 Inqubo ye-PHP-FPM ye-pool optimization (ukulungiswa kwepharamitha okuyisisekelo)
- 3 Nika amandla ukuqapha isimo se-PHP-FPM ukuze ulandelele ukuqhubeka noma kunini
- 4 Lungiselela amalogi we-PHP-FPM ukuze uxazulule izinkinga ngokushesha
- 5 Qala kabusha i-PHP-FPM njalo ukuze uvimbele ukuvuza kwememori
- 6 Kuthiwani uma inkinga iqhubeka? Ukwenza ngcono okwengeziwe!
- 7 Isifinyezo: Lungiselela i-PHP-FPM futhi iwebhusayithi ngeke isaphahlazeka!
Wake wabhekana nalesi simo?Ukufinyelela kwewebhusayithi kwehle ngokuzumayo, noma kwaze kwaholela ephutheni le-500 Ngemva kokuqalisa kabusha i-PHP-FPM, ibuyele kokujwayelekile., kodwa inkinga iphinde ivele ngemva kwesikhashana? Kuyakhungathekisa kakhulu lokhu!
Kungani lokhu kwenzeka?Eqinisweni, lokhu ngokuvamileIchibi lenqubo ye-PHP-FPM ayilungiswanga kahle, noma izinsiza zeseva azanele.okubangelwa. Namuhla, sizothuthukisa ngokuphelele I-HestiaCP I-PHP-FPM efakiwe yenza iwebhusayithi izinze njengetshe!
Isizathu esiyinhloko sokuthi kungani i-PHP-FPM igcwele ngokweqile
I-PHP-FPM iyi-aUmphathi Wenqubo, enesibopho sokusingatha izicelo eziguqukayo. Uma ukucushwa kungenangqondo, kungaholela kokuthi:
- Izinsiza zeseva ziphelile, okubangela ukuthi i-PHP-FPM ingakwazi ukuphendula izicelo ezintsha ngesikhathi;
- Izinqubo ezimbalwa kakhulu, lapho ithrafikhi inyuka ngokuzumayo, ayikwazi ukucutshungulwa ngesikhathi;
- Ukusetshenziswa kwenqubo kuphezulu kakhulu, okwenza umthwalo we-CPU uqhume.

Ungasho kanjani ukuthi i-PHP-FPM igcwele kakhulu?
angasebenzisa top Noma htop Umyalo wokubuka i-CPU nokusetshenziswa kwememori:
top -c
Uma ubona imininingwane yenqubo efana nokulandelayo, kusho ukuthi i-PHP-FPM isebenza ngaphansi komthwalo omkhulu:
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
Bona ukuthi lezi zinqubo zithatha kanjani ngaphezu kuka-70% we-CPU? Uma lokhu kwenzeka kaningi, i-PHP-FPM yakho Kumele kube nenkinga!
Ngakho-ke, singakuthuthukisa kanjani ukucushwa kwe-PHP-FPM ukuze iseva ingasalayishiwe?
Inqubo ye-PHP-FPM ye-pool optimization (ukulungiswa kwepharamitha okuyisisekelo)
Okokuqala, vula php-fpm Amafayela Okulungiselela:
sudo nano /etc/php/*/fpm/pool.d/www.conf- *Shintshela enguqulweni yakho ye-PHP, njenge-PHP8.3, futhi uyiguqule ibe yilena:
/etc/php/8.3/fpm/pool.d/www.conf
Buza inguqulo ye-PHP esethwe yi-HestiaCP
v-list-web-domain user domain.com
I-E.g:
v-list-web-domain abc chenweiliang.com
Kokukhiphayo, uzobona okufana nalokhu:
PHP SUPPORT yes
PHP MODE php-fpm
PHP VERSION 8.3
Lokhu kusho ukuthi iwebhusayithi isebenzisa I-PHP 8.3,
Ake sibheke ukucushwa kwakho kwe-PHP-FPM:
[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
Uyakubona lokho pm Osetshenziswayo ngu ondemand,Nakuba inganciphisa ukusetshenziswa kwensiza ngesikhathi sokungenzi lutho, lapho ithrafikhi inyuka ngokuzumayo, inqubo ingase ingakwazi ukuphendula ngesikhathi., okuholela emaphutheni angu-500.
1. Lungisa amapharamitha echibi lenqubo ye-PHP-FPM
Uma ukucushwa kusebenzisa dynamicLena indlela yokuqala izinqubo ezithile zomsebenzi futhi uzilungise ngokuguquguqukayo ngokuya ngevolumu yesicelo, engaphendula ngokushesha lapho ivolumu yesicelo ikhuphuka ngokuzumayo.
Kumawebhusayithi anenani elithile lethrafikhi, kuyanconywa ukuthi asetshenziswe pm = dynamicNgoba ingagcina inani elithile lezinqubo ezingenzi lutho futhi igweme amaphutha angama-500 ngesikhathi sokuvumelana okuphezulu.
Kunconywa ukuthi uyisebenzise kuphela uma ivolumu yokufinyelela iphansi kakhulu futhi izinsiza zememori ziqinile. pm = ondemand Ukonga izinsiza.
Kuphakanyiswe ukuthi ondemand, futhi ulungiselele pm.max_children Namanye amapharamitha:
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 后自动退出
Kungani ufuna ukuyishintsha kanje?
pm = dynamic: Nikeza izinqubo ngendlela evumelana nezimo ukuze ugweme ukulinda okungase kubangelwe ukufunwa;pm.max_children = 16: Vimbela amaphutha angu-500 abangelwa izinqubo ezimbalwa kakhulu;pm.start_servers = 5: Gwema ukuqalisa inqubo enensa;pm.max_requests = 3000:Ukuvimbela ukuvuza kwenkumbulo, sebenzisa kabusha inqubo njalo.
2. Khawulela isikhathi sokwenziwa kwemibhalo ye-PHP ukuze uvimbele ukuhlala isikhathi eside
request_terminate_timeout = 30s ; 超过 30s 的 PHP 脚本自动终止
php_admin_value[memory_limit] = 128M ; 限制 PHP 进程最大内存占用
Lokhu kungavimbela abanyeIzikripthi ze-PHP ezisebenzisa i-CPU eningi zingehlisa iseva yakho,
Ngemva kokulondoloza, qala kabusha inqubo ye-PHP:
sudo systemctl restart php8.3-fpmNika amandla ukuqapha isimo se-PHP-FPM ukuze ulandelele ukuqhubeka noma kunini
Nika amandla ukuqapha kwenqubo ye-PHP-FPM futhi uyibuke noma kuniniInombolo yamanje yezinqubo ezisebenzayo kanye nokucela isimo sokulinda, ukugwema ukugcwala kweseva.
KW php-fpm.conf Kwengezwe ku:
pm.status_path = /status
Bese, ukucushwa kwe-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;
}
Ngale ndlela, ungakwazi http://yourdomain.com/status Bheka i-PHP-FPM isebenza!
Lungiselela amalogi we-PHP-FPM ukuze uxazulule izinkinga ngokushesha
KW php-fpm.conf Engeza ku:
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 的脚本记录到日志
Ngale ndlela, noma nini lapho kwenzeka iphutha le-500, ungabuka ngokuqondile ilogi:
tail -f /var/log/php-fpm/error.log
Bona ukuthi i-PHP ibika iphutha, njenge out of memory,script execution timeout Linda.
Qala kabusha i-PHP-FPM njalo ukuze uvimbele ukuvuza kwememori
ukwazi ukudlula cron Qala kabusha i-PHP-FPM njalo ukuze uvimbele izinqubo ezisebenza isikhathi eside ukuthi zingabangeliUkuvuza Kwenkumbulo,
crontab -e
Engeza umsebenzi ohleliwe olandelayo ukuze uqale kabusha ngokuzenzakalelayo i-PHP-FPM ngo-3 ekuseni nsuku zonke:
0 3 * * * /usr/sbin/service php8.3-fpm restart
Kuthiwani uma inkinga iqhubeka? Ukwenza ngcono okwengeziwe!
Uma usalandela ukulungiselelwa okungenhlaNgezinye izikhathi kwenzeka amaphutha angu-500, ungaqhubeka nokulungiselelwa okulandelayo:
1. Nika amandla i-OPcache ukuze uthuthukise ukusebenza kahle kwe-PHP
Uma i-OPcache ingakanikwa amandla okwamanje, ungayifaka kanje (usebenzisa Ubuntu njengesibonelo):
sudo apt install php8.3-opcache -y
bese uhlela php.ini:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=4000
opcache.validate_timestamps=1
Umthelela? Isivinini sokwenza ikhasi le-PHP sithuthukiswe kakhulu!
2. Ukulungiswa kwe-Nginx
Qinisekisa ukuthi amapharamitha ahlobene ne-Nginx anengqondo, njenge fastcgi_read_timeout Yilungise ngendlela efanele ukuze ugweme ukuthi imibhalo ye-PHP iqedwe yi-Nginx ngenxa yesikhathi eside sokwenza:
fastcgi_read_timeout 60s;
client_max_body_size 100M;
Isifinyezo: Lungiselela i-PHP-FPM futhi iwebhusayithi ngeke isaphahlazeka!
Yiziphi izinguquko esizenzile ngemva kwalokhu kulungiselelwa?
✅ Ukulungiselela iphuli yenqubo ye-PHP-FPM,sebenzisa ondemandFuthi uthuthukise pm.max_children ipharamitha;
✅ Ikhawulela isikhathi sokwenziwa kwezikripthi ze-PHP, ukuvimbela umsebenzi we-CPU wesikhathi eside;
✅ Nika amandla ukuqapha kwe-PHP-FPM, buka umthwalo wenqubo ngesikhathi sangempela;
✅ Ukulungiselela izingodo ze-PHP-FPM, xazulula ngokushesha amaphutha angama-500;
✅ Qala kabusha i-PHP-FPM njalo, vimbela ukuvuza kwenkumbulo;
✅ Nika amandla i-OPcache, thuthukisa ukusebenza kahle kwe-PHP;
✅ Ilungiselela Ukucushwa kwe-Nginx, ukugwema izinkinga zokuvala isikhathi.
Ngemuva kwalokhu kulungiselelwa, umthwalo we-PHP-FPM uzoncishiswa kakhulu futhi ukusebenza kwewebhusayithi kuzozinza kakhulu! 🔥
Hamba uyizame manje! 💪🚀
I-Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) wabelane ngokuthi "Umthwalo we-HestiaCP PHP-FPM uphezulu kakhulu? Iphutha lewebhu le-Dynamic 500? Lokhu kulungiselelwa kuzoqala ukusebenza ngokushesha! ”, kungase kube usizo kuwe.
Siyakwamukela ukwabelana ngesixhumanisi salesi sihloko:https://www.chenweiliang.com/cwl-32512.html
Ukuze uvule amaqhinga afihliwe🔑, wamukelekile ukujoyina isiteshi sethu seTelegram!
Yabelana futhi uthanda uma uthanda! Ukwabelana kwakho nokuthanda kwakho kuyisikhuthazo sethu esiqhubekayo!