PHP-FPM կոնֆիգուրացիայի ֆայլում տարբերությունները և օպտիմալացման մեթոդները /etc/php/8.3/fpm/pool.d/

Ամեն ինչ կարգի՞ն է սերվերի գործարկումից հետո։ Իրականում, PHP-FPM աշխարհում կարգավորման ֆայլն է իրական գլխավոր գործոնը, որը որոշում է, թե արդյոք կայքը կարող է աշխատել կայուն, անվտանգ և արդյունավետ։

Ի՞նչ է PHP-FPM-ի համար պրոցեսների լողավազանի կոնֆիգուրացիան։

PHP-FPM-ը (FastCGI Process Manager) PHP-ի համար նախատեսված գործընթացների կառավարիչ է, որն օգտագործում է «փողոցների» (pools) հասկացությունը՝ տարբեր կայքերի կամ ծրագրերի PHP գործընթացները կառավարելու համար։

Ամեն .conf Ֆայլը լողավազանի սահմանում է, որը նշում է հիմնական պարամետրեր, ինչպիսիք են՝ օգտատերը, որի վրա աշխատում է գործընթացը, այն պորտը կամ սոքեթը, որին այն լսում է, գրանցման ուղին և գործընթացների քանակը։

Այլ կերպ ասած, այս ֆայլերը ձեր սերվերի համար «կլոնների» նման են, որոնք թույլ են տալիս տարբեր կայքերին աշխատել անկախ՝ առանց միմյանց խանգարելու։

PHP-FPM կոնֆիգուրացիայի ֆայլում տարբերությունները և օպտիմալացման մեթոդները /etc/php/8.3/fpm/pool.d/

www.conf: Լռելյայն պրոցեսների հավաքածու

PHP-FPM-ը տեղադրելուց հետո համակարգը ավտոմատ կերպով կստեղծի www.conf ֆայլ

Դրա գործառույթն է ապահովել լռելյայն լողավազան, որը գործում է անմիջապես, սովորաբար աշխատում է ... www-data Օգտատեր։

Այս լողավազանը հարմար է մեկ կայքի միջավայրերի համար, հեշտ է կարգավորել, և պարամետրերի մեծ մասը ընդհանուր արժեքներ են, ինչպիսիք են՝

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

Եթե ​​դուք աշխատում եք միայն մեկ կայքում, սա բավարար է։

etufo.org.conf: Կայքերի համար նախատեսված հատուկ հավաքածու

Երբ դուք ունեք մի քանի կայքեր, դուք պետք է ստեղծեք առանձին լողավազան յուրաքանչյուր կայքի համար։

ինչպես, օրինակ, etufo.org.confԱյն հատկապես նախատեսված է դոմեյնային անունների համար։ etufo- Կազմ Բացառիկ կոնֆիգուրացիա։

Ընդհանուր պրակտիկան հետևյալն է.

  • Նշեք տարբեր օգտատերեր և խմբեր, օրինակ՝ user = etufo,group = etufo
  • Կարգավորեք առանձին լսողական միացք կամ վարդակ, օրինակ՝ listen = /run/php/etufo.sock
  • Կարգավորեք պրոցեսների քանակը՝ բարձր զուգահեռականության պայմաններում կայքի կայունությունն ապահովելու համար։
  • Անկախ գրանցամատյանների ֆայլերը հեշտացնում են խնդիրների լուծումը։

Այս մոտեցման առավելությունը անվտանգության մեկուսացումն է. նույնիսկ եթե մեկ կայքը հարձակման ենթարկվի, մյուս կայքերը չեն տուժի։

dummy.conf: Օրինակ կամ տեղապահ ֆայլ

dummy.conf Սրանք սովորաբար համակարգի կողմից տրամադրված ձևանմուշներ կամ օրինակներ են։

Այն իրականում չի միացվի, եթե դուք ձեռքով չփոփոխեք և միացնեք այն։

Դրա նպատակն է ձեզ տրամադրել հղում և ցույց տալ, թե ինչպես գրել նոր լողավազանի կոնֆիգուրացիա։

Հետևաբար, այն ավելի շատ նման է «հրահանգների ձեռնարկի», քան շահագործման իրական կարգավորման։

Ինչու՞ օգտագործել մի քանի լողավազանի ֆայլեր։

  • 安全 性Տարբեր կայքերը պետք է կառավարվեն տարբեր օգտատերերի կողմից՝ թույլտվությունների համընկնումից խուսափելու համար։
  • 性能优化Գործընթացների քանակը կարող է սահմանվել անհատապես յուրաքանչյուր լողավազանի համար և ճշգրտվել երթևեկության պահանջարկին համապատասխան։
  • ՄեկուսացումԳրանցամատյանները, սխալի ելքը և լսողական միացքները բոլորը առանձնացված են, ինչը հեշտացնում է խնդիրների լուծումը։

Օրինակ, եթե www.conf Այն փլուզվեց։etufo.org.conf Այն դեռ կարող է աշխատել սովորականի պես և չի անջատի ամբողջ սերվերը։

Փաստացի կիրառման սցենարներ

  • Միակ կայքի սերվերՄիայն օգտագործել www.conf Բավական է։
  • Բազմակայք սերվերԿառուցեք մեկը յուրաքանչյուր կայքի համար .conf Ֆայլեր, ինչպիսիք են etufo.org.conf.
  • կեղծ.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

Դուք կտեսնեք, որ տարբերությունը կայանում է օգտատիրոջ, լսողական հասցեի և պրոցեսների քանակի մեջ։

PHP-FPM պրոցեսների լողավազանի պարամետրերի կարգավորում

Եթե ​​կոնֆիգուրացիան օգտագործում է դինամիկՍա որոշ աշխատանքային գործընթացներ նախապես մեկնարկելու և դրանք հարցման ծավալին համապատասխան դինամիկ կերպով կարգավորելու մեթոդ է, որը կարող է ավելի արագ արձագանքել, երբ հարցման ծավալը հանկարծակի աճում է։

Որոշակի քանակությամբ այցելություններ ունեցող կայքերի համար խորհուրդ է տրվում օգտագործել pm = dynamicՔանի որ այն կարող է պահպանել որոշակի քանակությամբ անգործուն պրոցեսներ և խուսափել 500 սխալներից բարձր զուգահեռականության ժամանակ։

Խորհուրդ է տրվում օգտագործել այն միայն այն դեպքում, երբ մուտքի ծավալը չափազանց ցածր է, իսկ հիշողության ռեսուրսները՝ սահմանափակ։ pm = ondemand Ռեսուրսներ խնայելու համար։

Խորհուրդ է տրվում այն ​​փոխել դինամիկի և օպտիմալացնել։ 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-ի պաշտոնական փաստաթղթերի՝

«Յուրաքանչյուր լողավազան կարող է կարգավորվել անկախ՝ թույլ տալով տարբեր օգտատերերի, սահմանափակումների և կարգավորումների օգտագործում յուրաքանչյուր ծրագրի համար»։

Այս հայտարարությունը հստակորեն ընդգծում է բազմափուլ կոնֆիգուրացիայի կարևորությունը՝ անկախություն, ճկունություն և կառավարելիություն։

Եզրակացություն։ Իմ տեսակետը

Սերվերի կոնֆիգուրացիան նման է նվագախմբի դիրիժորի, որը որոշում է, թե ինչպես պետք է նվագել յուրաքանչյուր գործիք։

www.conf Այն լռելյայն դիրիժորն է, հարմար է մենակատարային ելույթների համար։etufo.org.conf Այն դիրիժոր է՝ հատուկ ստեղծված որոշակի բեմի համար, և dummy.conf Այն երաժշտական ​​պարտիտուրների սևագիր է, որը հիշեցնում է ձեզ, թե ինչպես գրել նոր մեղեդիներ։

Տեղեկատվական անվտանգության և կատարողականի օպտիմալացման վրա կենտրոնացած դարաշրջանում այս կոնֆիգուրացիոն ֆայլերի ճիշտ օգտագործման իմացությունը սերվերի կենսական նշանակություն ունի։

Կարգավորումը պարզապես պարզ տեքստ չէ, այն սերվերի հոգին է։

Եթե ​​դուք գործում եքWordPressԲազմակայք ծրագրերի համար մենք խստորեն խորհուրդ ենք տալիս անմիջապես ստուգել և օպտիմալացնել այս լողավազանի ֆայլերը, հատկապես գործընթացների լողավազանի պարամետրերի կարգավորումները, որպեսզի ձեր սերվերը դառնա իսկապես ամուր։

Հույս Chen Weiliang բլոգ ( https://www.chenweiliang.com/ Այստեղ ներկայացված «PHP-FPM /etc/php/8.3/fpm/pool.d/ կոնֆիգուրացիայի ֆայլի տարբերությունները և օպտիմալացման մեթոդները» հոդվածը կարող է օգտակար լինել ձեզ համար։

Բարի գալուստ՝ կիսելու այս հոդվածի հղումը.https://www.chenweiliang.com/cwl-33845.html

Ավելի շատ թաքնված հնարքներ բացահայտելու համար🔑, միացեք մեր Telegram ալիքին։

Տարածեք և հավանեք, եթե ձեզ դուր եկավ: Ձեր կիսումներն ու հավանումները մեր շարունակական շարժառիթն են:

 

发表 评论

Ձեր էլփոստի հասցեն չի հրապարակվի: Օգտագործվում են պահանջվող դաշտերը * Պիտակ

Հոդվածների տեղեկատու
Ոլորել դեպի սկիզբ