Tusaha Maqaalka
Weligaa ma la kulantay xaaladdan?Helitaanka mareegaha ayaa si lama filaan ah hoos ugu dhacay, ama xitaa waxay keentay qalad 500 ah Kadib markii dib loo bilaabay PHP-FPM, waxay ku soo noqotay caadi., laakiin dhibaatadu waxay soo noqotaa muddo ka dib? Tani waa wax laga xumaado!
Maxay tani u dhaceysaa?Dhab ahaantii, tani badanaa waaBarkadda habka PHP-FPM looma habayn si sax ah, ama agabka serverku kuma filna.waxaa sababay. Maanta, waxaan si fiican u hagaajin doonaa HestiaCP PHP-FPM oo ka hooseeya daboolka ayaa ka dhigaya degelka mid deggan sidii dhagax oo kale!
Sababta ugu weyn ee PHP-FPM ay u buux dhaafisay
PHP-FPM waa aMaamulaha habka, kaas oo mas'uul ka ah qabashada codsiyada firfircoon. Haddii qaabayntu aysan macquul ahayn, waxay u horseedi kartaa:
- Ilaha adeegaha ayaa daalan, taasoo keenaysa in PHP-FPM ay awoodi waydo inay ka jawaabto codsiyada cusub wakhtiga ku haboon;
- Habab aad u yar, marka gaadiidka si lama filaan ah u kordho, laguma baari karo waqtigeeda;
- Isticmaalka nidaamku aad buu u sarreeyaa, taasoo keenta in culayska CPU uu qarxo.

Sidee lagu ogaan karaa haddii PHP-FPM uu culeys badan yahay?
isticmaali karo top Ama htop Amarka si loo eego CPU iyo isticmaalka xusuusta:
top -c
Haddii aad aragto macluumaadka habraaca la midka ah kuwan soo socda, waxay la macno tahay PHP-FPM inay ku hoos socoto culays sare:
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
Bal eeg sida hababkani ay u qaadanayaan in ka badan 70% CPU? Haddii ay tani marar badan dhacdo, PHP-FPM kaaga Waa in dhibaato jirto!
Marka, sidee ayaan u wanaajin karnaa qaabeynta PHP-FPM si aanu serferku mar dambe culeys u saarin?
Hagaajinta barkada habka PHP-FPM (habaynta halbeegyada xudunta u ah)
Marka hore, fur php-fpm Faylasha isku xidhka:
sudo nano /etc/php/*/fpm/pool.d/www.conf- *U beddel noocaaga PHP, sida PHP8.3, oo u beddel kan:
/etc/php/8.3/fpm/pool.d/www.conf
Weydii nooca PHP ee ay dejisay HestiaCP
v-list-web-domain user domain.com
Tusaale:
v-list-web-domain abc chenweiliang.com
Soo saarista, waxaad ku arki doontaa wax sida:
PHP SUPPORT yes
PHP MODE php-fpm
PHP VERSION 8.3
Tani waxay ka dhigan tahay in website-ku isticmaalo PHP 8.3.
Aan eegno qaabkaaga 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
Waxaad arki kartaa in aad pm Midka la isticmaalo waa ondemand,In kasta oo ay yarayn karto isticmaalka kheyraadka inta lagu jiro wakhtiga shaqo la'aanta ah, marka taraafiggu si lama filaan ah u kordho, nidaamku waxa laga yaabaa in uu ka jawaabi waayo wakhtiga., taasoo keentay qalad 500 ah.
www.conf: Nidaamka ku dhex jira "barkadda kheyraadka caalamiga ah"
Kadib marka la rakibo PHP-FPM, nidaamku wuxuu si toos ah kuu siin doonaa... www.conf dukumeenti.
WaaMeeleyntaWaa mid aad u fudud—waa barkad hab-socod oo caadi ah oo ka shaqeysa sanduuqa, badanaana ku xiran... www-data Soo dejinta isticmaalaha.
Noocan barkadda ayaa si gaar ah ugu habboon deegaannada hal-goob: qaabayntu waa mid fudud, xuduudahana dhammaantood waa qaabab guud, sida:
user = www-data
group = www-data
listen = /run/php/php8.3-fpm.sock
pm.max_children = 5
Haddii aad martigeliso hal bog oo keliya, waxaad si toos ah oo kalsooni leh u isticmaali kartaa iyada oo aan wax dhib ah oo dheeraad ah lahayn.
etNiyadjabka.org.conf: Barkad gaar ah
Marka aad waddo goobo badan, qof walba kuma hayn kartid barkad isku mid ah.
Waqtigan xaadirka ah, HestiaCP waxay si toos ah u abuuri doontaa barkad gooni ah goob kasta, tusaale ahaan... etNiyadjabka.org.confKu takhasusay magacyada domain-ka etufo.org 。
Habka caadiga ah ee loo ciyaaro waa:
- Beddel isticmaalayaasha iyo kooxaha:
user = etufo,group = etufo - La socodka madaxa-bannaan:
listen = /run/php/etufo.sock - Hagaajinta tirada hababka waxay hubineysaa xasillooni adag xitaa marka ay jirto isku dheelitirnaan sare.
- Faylasha diiwaanka ee kala duwan ayaa ka dhigaya xallinta dhibaatooyinka mid cad.
Faa'iidooyinka waa kuwo iska cad:Go'doomin suganXitaa haddii hal bog la jabsado, goobaha kale ma saameyn doonaan.
dummy.conf: faylka been abuurka ah
dummy.conf Kuwani badanaa waa tusaalooyin ama qaabab uu nidaamku bixiyo.
Dhab ahaantii ma shaqayn doonto ilaa aad gacantaada wax ka beddesho oo aad awoodsiiso.
Muhiimaddeedu waxay u egtahay "buug-gacmeed hawlgal," oo kuu sheegaya sida loo qoro qaab-dhismeedka barkadda cusub.
Maxaa loo qaybiyaa barkadda?
- 安全 性Isticmaal isticmaaleyaal kala duwan bogag kala duwan si aad uga fogaato rukhsadaha iska hor imanaya.
- 性能优化Tirada hababka waxaa si gaar ah loogu hagaajin karaa barkad kasta, taasoo u oggolaanaysa hagaajin dabacsan oo ku salaysan baahida taraafikada.
- KarantiilDiiwaanada, khaladaadka, iyo cinwaanada dhegeysiga dhammaantood waa la kala saaray, taasoo sahlaysa xallinta dhibaatooyinka.
Tusaale ahaan: xitaa www.conf Way burburtay.etufo.org.conf Wali si caadi ah ayay u shaqayn doontaa mana hoos u dhigi doonto server-ka oo dhan.
实际场景
- Adeeg-bixiye hal-goob ah: www.conf waa ku filan tahay.
- Adeegayaal badanBog kasta wuxuu leeyahay fayl u gaar ah oo madax bannaan oo .conf ah, sida etufo.org.conf.
- dummy.confTixraac ahaan oo keliya, laguma talinayo.
Isbarbardhigga Qaabeynta
www.conf (barkadda caadiga ah)
[www]
user = www-data
group = www-data
listen = /run/php/php8.3-fpm.sock
pm = dynamic
pm.max_children = 5
etufo.org.conf (Barkadda Gaarka ah)
[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
Farqiga ugu weyni waa:Aqoonsiga isticmaalaha, cinwaanka dhegeysiga, tirada hababka.
1. Hagaaji cabbirada barkadda habka PHP-FPM
Haddii habayntu isticmaasho dynamicTani waa habka horay loo bilaabayo qaar ka mid ah hababka shaqada oo si firfircoon u hagaajinaya iyaga oo raacaya mugga codsiga, kaas oo si degdeg ah uga jawaabi kara marka mugga codsiga si lama filaan ah u kordho.
Mareegaha leh xaddi xaddidan oo taraafikada, waxaa lagu talinayaa in la isticmaalo pm = dynamicSababtoo ah waxay ilaalin kartaa xaddi gaar ah oo hababka shaqo la'aanta ah waxayna ka fogaan kartaa 500 khalad inta lagu jiro isweydaarsiga sare.
Waxaa lagu talinayaa in la isticmaalo kaliya marka mugga gelitaanka uu aad u hooseeyo oo ilaha xusuusta ay adag yihiin. pm = ondemand Si loo badbaadiyo agabka
Lagu taliyay dynamic, oo hagaaji pm.max_children Iyo xuduudo kale:
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 后自动退出
Maxaad u rabtaa inaad sidan u beddesho?
pm = dynamicU qoondee hababka si dabacsanaan leh si aad uga fogaato sugitaanka codsiga ee ay sababi karto dalabka;pm.max_children = 16Ka-hortagga 500 khalad oo ay sababaan habab aad u yar;pm.start_servers = 5: Iska ilaali bilawga geedi socodka gaabiska;pm.max_requests = 3000:Ka-hortagga ilbaxnimada xusuusta, dib u warshadaynta habka si joogto ah.
2. Yaree waqtiga fulinta qoraallada PHP si looga hortago degenaansho waqti dheer ah
request_terminate_timeout = 30s ; 超过 30s 的 PHP 脚本自动终止
php_admin_value[memory_limit] = 128M ; 限制 PHP 进程最大内存占用
Tani waxay ka hortagi kartaa qaarQoraallada PHP ee isticmaala CPU aad u badan ayaa hoos u dhigi kara server-kaaga.
Ka dib markaad kaydiso, dib u bilaw habka PHP:
sudo systemctl restart php8.3-fpmAwood u yeel la socodka heerka PHP-FPM si aad ula socoto horumarka wakhti kasta
Daree la socodka nidaamka PHP-FPM oo arag wakhti kastaTirada hadda ee hababka firfircoon iyo codsiga heerka sugitaanka, si looga fogaado xad-dhaafka server-ka.
Gudaha php-fpm.conf Lagu daray:
pm.status_path = /status
Kadib, qaabeynta 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;
}
Sidan, waad awoodaa http://yourdomain.com/status Fiiri PHP-FPM oo shaqaynaya!
Kor u qaad diiwaannada PHP-FPM si aad dhaqso u xalliso dhibaatooyinka
Gudaha php-fpm.conf Ku darso:
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 的脚本记录到日志
Sidan, mar kasta oo 500 qalad dhaco, waxaad si toos ah u arki kartaa log:
tail -f /var/log/php-fpm/error.log
Eeg haddii PHP uu sheego khalad, sida out of memory,script execution timeout 。
Si joogto ah dib ugu bilow PHP-FPM si aad uga hortagto daadinta xusuusta
awoodo inuu gudbo cron Si joogto ah dib ugu bilow PHP-FPM si aad uga hortagto in geeddi-socodyada muddada dheer socda ay sababaanXusuusta Daaditaanka.
crontab -e
Ku dar hawsha soo socota ee la qorsheeyay si aad si toos ah dib ugu bilowdo PHP-FPM saacada 3 subaxnimo maalin kasta:
0 3 * * * /usr/sbin/service php8.3-fpm restart
Maxaa dhacaya haddii dhibaatadu sii socoto? Wanaajin dheeraad ah!
Haddii aad wali raacdo hagaajinta sareMararka qaarkood 500 khalad ayaa dhaca, waxaad ku sii wadan kartaa wanaajinta soo socota:
1. Awood OPcache si loo horumariyo waxtarka fulinta PHP
Haddii OPcache aan weli la hawlgelin, waxaad ku rakibi kartaa sidan oo kale (adoo isticmaalaya Ubuntu tusaale ahaan):
sudo apt install php8.3-opcache -y
Kadibna wax ka beddel php.ini:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=4000
opcache.validate_timestamps=0
- opcache.validate_timestamps=0
- Dami ogaanshaha waqtiga-dhabta ahYaree nidaamka faylka I/O oo hagaaji waxqabadka.
Si kastaba ha ahaatee, tani waxay ka dhigan tahay inaad gacantaada ka nadiifiso kaydka (dib u bilow adeegga PHP) ka dib markaad wax ka beddesho faylasha PHP.
Ka dib markaad wax ka beddesho habaynta, waa inaad dib u bilowdaa adeegga PHP si isbeddelladu u dhaqan galaan.
sudo systemctl restart php<版本>-fpmSaamayn? Xawaaraha fulinta bogga PHP si weyn ayaa loo hagaajiyay!
2. Nginx qaabeynta qaabeynta
Hubi in xuduudaha Nginx ee la xidhiidha ay yihiin kuwo macquul ah, sida fastcgi_read_timeout Si habboon u hagaaji si aad uga fogaato in qoraallada PHP ay joojiso Nginx wakhtiga dheer ee fulinta awgeed:
fastcgi_read_timeout 60s;
client_max_body_size 100M;
Soo koobid: Habee PHP-FPM oo mareegta ma burburi doonto!
Maxaa isbedel ah oo aanu samaynay tayayntan ka dib?
✅ Hagaajinta barkada habka PHP-FPM, isticmaal ondemandOo wanaaji pm.max_children qiyaasta;
✅ Xaddidaadda waqtiga fulinta qoraallada PHP, si looga hortago shaqada CPU ee muddada dheer;
✅ Daar la socodka PHP-FPM, u fiirso culeyska habka waqtiga dhabta ah;
✅ Hagaajinta diiwaannada PHP-FPM, si degdeg ah u cilad 500 khalad;
✅ Si joogto ah dib ugu bilow PHP-FPM, ka hortagga xusuusta daadinta;
✅ Daar OPcache, hagaajinta waxtarka fulinta PHP;
✅ Horumarinta Nginx Configuration, si looga fogaado arrimaha wakhtiga.
Hagaajintan ka dib, culayska PHP-FPM si weyn ayaa loo dhimi doonaa, hawlgalka mareegahana wuxuu noqon doonaa mid xasiloon! 🔥
Tag hadda tijaabi! 💪🚀
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) la wadaago "HestiaCP PHP-FPM culaysku aad buu u sarreeyaa? Khaladaadka bogga shabakadda firfircoon ee 500? Hagaajintani waxay dhaqan gali doontaa isla markiiba! ”, waxaa laga yaabaa inay ku anfacdo.
Ku soo dhawoow inaad wadaagto xiriirka maqaalkan:https://www.chenweiliang.com/cwl-32512.html
