PHP-FPM configuration ဖိုင် /etc/php/8.3/fpm/pool.d/ ရှိ ကွာခြားချက်များနှင့် optimization နည်းစနစ်များ

ဆာဗာလည်ပတ်နေတဲ့အခါ အရာအားလုံးအဆင်ပြေရဲ့လား။ တကယ်တော့ PHP-FPM လောကမှာ configuration file က အဓိက mainmind ဖြစ်ပြီး website က တည်ငြိမ်၊ လုံခြုံပြီး ထိရောက်စွာလည်ပတ်နိုင်မလားဆိုတာကို ဆုံးဖြတ်ပေးပါတယ်။

PHP-FPM အတွက် process pool configuration ကဘာလဲ။

PHP-FPM (FastCGI Process Manager) သည် PHP အတွက် process manager တစ်ခုဖြစ်ပြီး၊ ၎င်းသည် မတူညီသော ဝဘ်ဆိုက်များ သို့မဟုတ် application များအတွက် PHP process များကို စီမံခန့်ခွဲရန် "pools" ၏ သဘောတရားကို အသုံးပြုသည်။

တိုင်း .conf ဖိုင်သည် pool definition တစ်ခုဖြစ်ပြီး၊ process လည်ပတ်သည့် user၊ ၎င်းနားထောင်သည့် port သို့မဟုတ် socket၊ log path နှင့် process အရေအတွက်ကဲ့သို့သော key parameter များကို သတ်မှတ်ပေးသည်။

တစ်နည်းအားဖြင့်ဆိုရသော် ဤဖိုင်များသည် သင့်ဆာဗာအတွက် "clone" များကဲ့သို့ဖြစ်ပြီး မတူညီသောဆိုက်များကို တစ်ခုနှင့်တစ်ခု အနှောင့်အယှက်မဖြစ်စေဘဲ သီးခြားစီလည်ပတ်နိုင်စေပါသည်။

PHP-FPM configuration ဖိုင် /etc/php/8.3/fpm/pool.d/ ရှိ ကွာခြားချက်များနှင့် optimization နည်းစနစ်များ

www.conf: မူရင်း လုပ်ငန်းစဉ် အစုအဝေး

PHP-FPM ကို install လုပ်ပြီးသည်နှင့် system သည် အလိုအလျောက် generate လုပ်ပါလိမ့်မည်။ www.conf ဖိုင်။

၎င်း၏ လုပ်ဆောင်ချက်မှာ ပုံမှန်အားဖြင့် လည်ပတ်နေသော default pool တစ်ခုကို ပံ့ပိုးပေးရန်ဖြစ်သည်။ www-data အသုံးပြုသူ။

ဤ pool သည် single-site environment များအတွက် သင့်လျော်ပြီး configure လုပ်ရန်လွယ်ကူကာ parameter အများစုမှာ generic values ​​များဖြစ်ပြီး ဥပမာ-

  • user = www-data
  • group = www-data
  • listen = /run/php/php8.3-fpm.sock
  • pm.max_children = 5

ဝက်ဘ်ဆိုက်တစ်ခုတည်းမှာပဲ လည်ပတ်နေတယ်ဆိုရင် ဒါက လုံလောက်ပါတယ်။

etပန်းကန်ပြားပျံ.org.conf: စိတ်ကြိုက်ဆိုက်အစုအဝေး

ဝက်ဘ်ဆိုက်များစွာရှိသည့်အခါ ဝက်ဘ်ဆိုက်တစ်ခုစီအတွက် သီးခြား pool တစ်ခု ဖန်တီးရန် လိုအပ်ပါသည်။

ထိုကဲ့သို့သောအဖြစ် etufo.org.conf၎င်းသည် domain name များအတွက် သီးသန့်ဖြစ်သည်။ etပန်းကန်ပြားပျံ.org သီးသန့်ဖွဲ့စည်းမှု။

အဖြစ်များသော အလေ့အကျင့်မှာ-

  • ဥပမာအားဖြင့် မတူညီသော အသုံးပြုသူများနှင့် အုပ်စုများကို သတ်မှတ်ပါ user = etufo,group = etufo
  • ဥပမာအားဖြင့်၊ သီးခြား နားထောင်သည့် port သို့မဟုတ် socket တစ်ခုကို ပြင်ဆင်သတ်မှတ်ပါ။ listen = /run/php/etufo.sock
  • တစ်ပြိုင်နက်တည်းလုပ်ဆောင်နိုင်မှု မြင့်မားနေချိန်တွင် နေရာတည်ငြိမ်မှုရှိစေရန် လုပ်ငန်းစဉ်အရေအတွက်ကို ချိန်ညှိပါ။
  • လွတ်လပ်သော မှတ်တမ်းဖိုင်များသည် ပြဿနာရှာဖွေဖြေရှင်းခြင်းကို အထောက်အကူပြုပါသည်။

ဤနည်းလမ်း၏ အားသာချက်မှာ လုံခြုံရေး သီးခြားခွဲထားခြင်းဖြစ်သည်- ဆိုက်တစ်ခု တိုက်ခိုက်ခံရလျှင်ပင် အခြားဆိုက်များကို ထိခိုက်မည်မဟုတ်ပါ။

dummy.conf: ဥပမာ သို့မဟုတ် placeholder ဖိုင်

dummy.conf ၎င်းတို့သည် ပုံမှန်အားဖြင့် စနစ်မှ ပံ့ပိုးပေးထားသော တင်းပလိတ်များ သို့မဟုတ် ဥပမာများ ဖြစ်သည်။

သင်ကိုယ်တိုင် ပြုပြင်မွမ်းမံပြီး ဖွင့်မပေးမချင်း ၎င်းကို အမှန်တကယ်ဖွင့်မည်မဟုတ်ပါ။

၎င်း၏ ရည်ရွယ်ချက်မှာ သင့်အား ရည်ညွှန်းချက်တစ်ခု ပေးရန်နှင့် pool configuration အသစ်တစ်ခု ရေးသားနည်းကို ပြသရန်ဖြစ်သည်။

ထို့ကြောင့် ၎င်းသည် လည်ပတ်မှုအတွက် တကယ့်ဖွဲ့စည်းမှုပုံစံထက် "ညွှန်ကြားချက်လက်စွဲ" နှင့် ပိုတူပါသည်။

ဘာကြောင့် pool file အများအပြားကို အသုံးပြုသင့်တာလဲ။

  • 安全性ခွင့်ပြုချက်များ ထပ်နေခြင်းကို ရှောင်ရှားရန်အတွက် မတူညီသော ဝဘ်ဆိုက်များကို မတူညီသော အသုံးပြုသူများဖြင့် လုပ်ဆောင်သင့်သည်။
  • 性能优化လုပ်ငန်းစဉ်အရေအတွက်ကို pool တစ်ခုစီအတွက် တစ်ဦးချင်းစီ သတ်မှတ်နိုင်ပြီး traffic demand အရ ချိန်ညှိနိုင်သည်။
  • သီးသန့်ထားခြင်း၊ ခွဲထားခြင်းLog များ၊ error output နှင့် listening port များအားလုံးကို သီးခြားခွဲထားသဖြင့် ပြဿနာရှာဖွေဖြေရှင်းခြင်းကို ပိုမိုလွယ်ကူစေသည်။

ဥပမာအားဖြင့်၊ အကယ်၍ www.conf ၎င်းသည် ပြိုကျသွားခဲ့သည်။etufo.org.conf ၎င်းသည် ပုံမှန်အတိုင်း ဆက်လက်လည်ပတ်နိုင်ပြီး server တစ်ခုလုံးကို down မည်မဟုတ်ပါ။

လက်တွေ့အသုံးချမှု အခြေအနေများ

  • တစ်ခုတည်းသော ဆိုက်ဆာဗာအသုံးပြုရုံသာ www.conf အဲဒါ လုံလောက်ပါတယ်။
  • ဘက်စုံဆိုက်ဆာဗာ: ဆိုက်တစ်ခုစီအတွက် တစ်ခုတည်ဆောက်ပါ .conf ဖိုင်တွေဖြစ်တဲ့ etufo.org.conf
  • dummy.confကိုးကားရန်အတွက်သာ၊ အကြံပြုထားခြင်းမရှိပါ။

ဖွဲ့စည်းပုံ နှိုင်းယှဉ်ချက် ဥပမာ

www.conf (ပုံသေ ရေကူးကန်)

[www]
user = www-data
group = www-data
listen = /run/php/php8.3-fpm.sock
pm = dynamic
pm.max_children = 5

etufo.org.conf (စိတ်ကြိုက်စုစည်းမှု)

[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

ကွာခြားချက်က user၊ နားထောင်တဲ့ address နဲ့ process အရေအတွက်မှာ ရှိနေတာကို တွေ့ရပါလိမ့်မယ်။

PHP-FPM လုပ်ငန်းစဉ် pool parameters များကို ချိန်ညှိခြင်း

အကယ်၍ configuration ကိုအသုံးပြုသည်။ ပြောင်းလဲနေသော၎င်းသည် အချို့သော အလုပ်လုပ်ငန်းစဉ်များကို ကြိုတင်စတင်ကာ တောင်းဆိုမှုပမာဏအတိုင်း ၎င်းတို့ကို ဒိုင်နမစ်ဖြင့် ချိန်ညှိခြင်းနည်းလမ်းတစ်ခုဖြစ်ပြီး တောင်းဆိုမှုပမာဏ ရုတ်တရက်တိုးလာသောအခါ ပိုမိုမြန်ဆန်စွာ တုံ့ပြန်နိုင်သည်။

အသွားအလာပမာဏ အတိအကျရှိသော ဝဘ်ဆိုဒ်များအတွက် အသုံးပြုရန် အကြံပြုထားသည်။ pm = dynamicအဘယ်ကြောင့်ဆိုသော် ၎င်းသည် မလှုပ်မယှက်သော လုပ်ငန်းစဉ်အချို့ကို ထိန်းသိမ်းနိုင်ပြီး မြင့်မားသော တွဲဖက်ကာလအတွင်း အမှားအယွင်း 500 ကို ရှောင်ရှားနိုင်သောကြောင့်ဖြစ်သည်။

ဝင်ခွင့်ပမာဏ အလွန်နည်းပြီး မှတ်ဉာဏ်အရင်းအမြစ်များ တင်းကျပ်နေမှသာ ၎င်းကို အသုံးပြုရန် အကြံပြုထားသည်။ pm = ondemand အရင်းအမြစ်များကို သိမ်းဆည်းရန်။

၎င်းကို dynamic သို့ပြောင်းလဲပြီး optimize လုပ်ရန် အကြံပြုထားသည်။ pm.max_children နှင့် အခြားသော ကန့်သတ်ချက်များ

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 后自动退出

ဤဖွဲ့စည်းမှုပုံစံသည် အရင်းအမြစ်ဖြုန်းတီးမှုကို ရှောင်ရှားရင်း စွမ်းဆောင်ရည်ကို သေချာစေသည်။

အသေးစိတ်ဖွဲ့စည်းပုံညွှန်ကြားချက်များအတွက် အောက်ပါသင်ခန်းစာ ▼ ကို ကြည့်ပါ။

တရားဝင် PHP စာရွက်စာတမ်းများအရ-

"အပလီကေးရှင်းတစ်ခုစီအတွက် မတူညီသောအသုံးပြုသူ၊ ကန့်သတ်ချက်များနှင့် ဆက်တင်များကို ခွင့်ပြုသည့် ရေကူးကန်တစ်ခုစီကို သီးခြားစီ configure လုပ်နိုင်သည်။"

ဤဖော်ပြချက်သည် multi-pool configuration ၏ အရေးပါမှုကို ရှင်းရှင်းလင်းလင်း ထောက်ပြထားသည်- လွတ်လပ်မှု၊ ပြောင်းလွယ်ပြင်လွယ်ရှိမှုနှင့် ထိန်းချုပ်နိုင်မှု။

နိဂုံးချုပ်- ကျွန်ုပ်၏အမြင်

ဆာဗာဖွဲ့စည်းမှုပုံစံသည် သံစုံတီးဝိုင်းတစ်ခုရှိ တီးဝိုင်းခေါင်းဆောင်တစ်ဦးကဲ့သို့ဖြစ်ပြီး တူရိယာတစ်ခုစီကို မည်သို့တီးခတ်ရမည်ကို ဆုံးဖြတ်ပေးသည်။

www.conf ၎င်းသည် မူရင်းတီးဝိုင်းခေါင်းဆောင်ဖြစ်ပြီး တစ်ကိုယ်တော်ဖျော်ဖြေပွဲများအတွက် သင့်လျော်သည်။etufo.org.conf ၎င်းသည် သတ်မှတ်ထားသော စင်မြင့်တစ်ခုအတွက် စိတ်ကြိုက်ပြုလုပ်ထားသော တီးဝိုင်းခေါင်းဆောင်တစ်ဦးဖြစ်ပြီး dummy.conf ၎င်းသည် တေးသွားအသစ်များ မည်သို့ရေးရမည်ကို သတိပေးသည့် တေးဂီတရမှတ်များ၏ မူကြမ်းတစ်ခုဖြစ်သည်။

သတင်းအချက်အလက်လုံခြုံရေးနှင့် စွမ်းဆောင်ရည် အကောင်းဆုံးဖြစ်အောင်လုပ်ဆောင်ခြင်းကို အာရုံစိုက်နေသောခေတ်တွင် ဤ configuration ဖိုင်များကို မည်သို့စနစ်တကျအသုံးပြုရမည်ကို သိရှိခြင်းသည် server တစ်ခု၏ အသက်သွေးကြောကို ထိန်းချုပ်ရန် အဓိကသော့ချက်ဖြစ်သည်။

ပြင်ဆင်သတ်မှတ်ခြင်းသည် ရိုးရှင်းသောစာသားမျှသာမဟုတ်ပါ။ ၎င်းသည် server တစ်ခု၏ အသက်ဝိညာဉ်ဖြစ်သည်။

လည်ပတ်နေတယ်ဆိုရင်WordPressmulti-site application များအတွက်၊ သင့် server ကို အမှန်တကယ်ခိုင်မာစေရန်အတွက် ဤ pool file များ၊ အထူးသဖြင့် process pool parameter setting များကို ချက်ချင်းစစ်ဆေးပြီး optimize လုပ်ရန် ကျွန်ုပ်တို့ အထူးအကြံပြုလိုပါသည်။

မျှော်လင့်ခြင်း Chen Weiliang ဘလော့ဂ် ( https://www.chenweiliang.com/ ဤနေရာတွင် မျှဝေထားသော "PHP-FPM /etc/php/8.3/fpm/pool.d/ Configuration File ၏ ကွာခြားချက်များနှင့် အကောင်းဆုံးဖြစ်အောင်ပြုလုပ်ခြင်းနည်းစနစ်များ" ဆောင်းပါးသည် သင့်အတွက် အထောက်အကူဖြစ်နိုင်ပါသည်။

ဤဆောင်းပါး၏ link ကိုမျှဝေရန်ကြိုဆိုပါတယ်:https://www.chenweiliang.com/cwl-33845.html

နောက်ထပ်လျှို့ဝှက်လှည့်ကွက်များကိုသော့ဖွင့်ရန်🔑၊ ကျွန်ုပ်တို့၏ Telegram ချန်နယ်တွင် ပါဝင်ရန် ကြိုဆိုလိုက်ပါ။

ကြိုက်ရင် Share ပြီး Like လုပ်ပါ။ သင်၏ မျှဝေမှုများနှင့် ကြိုက်နှစ်သက်မှုများသည် ကျွန်ုပ်တို့၏ ဆက်လက်လှုံ့ဆော်မှုဖြစ်သည်။

 

မှတ်ချက်များ

သင့်အီးမေးလ်လိပ်စာကို ထုတ်ပြန်မည်မဟုတ်ပါ။ 用项已用用 * တံဆိပ်

ဆောင်းပါးလမ်းညွှန်
ထိပ်တန်းမှလှိမ့်