Հոդվածների տեղեկատու
Ամեն ինչ կարգի՞ն է սերվերի գործարկումից հետո։ Իրականում, PHP-FPM աշխարհում կարգավորման ֆայլն է իրական գլխավոր գործոնը, որը որոշում է, թե արդյոք կայքը կարող է աշխատել կայուն, անվտանգ և արդյունավետ։
Ի՞նչ է PHP-FPM-ի համար պրոցեսների լողավազանի կոնֆիգուրացիան։
PHP-FPM-ը (FastCGI Process Manager) PHP-ի համար նախատեսված գործընթացների կառավարիչ է, որն օգտագործում է «փողոցների» (pools) հասկացությունը՝ տարբեր կայքերի կամ ծրագրերի PHP գործընթացները կառավարելու համար։
Ամեն .conf Ֆայլը լողավազանի սահմանում է, որը նշում է հիմնական պարամետրեր, ինչպիսիք են՝ օգտատերը, որի վրա աշխատում է գործընթացը, այն պորտը կամ սոքեթը, որին այն լսում է, գրանցման ուղին և գործընթացների քանակը։
Այլ կերպ ասած, այս ֆայլերը ձեր սերվերի համար «կլոնների» նման են, որոնք թույլ են տալիս տարբեր կայքերին աշխատել անկախ՝ առանց միմյանց խանգարելու։

www.conf: Լռելյայն պրոցեսների հավաքածու
PHP-FPM-ը տեղադրելուց հետո համակարգը ավտոմատ կերպով կստեղծի www.conf ֆայլ
Դրա գործառույթն է ապահովել լռելյայն լողավազան, որը գործում է անմիջապես, սովորաբար աշխատում է ... www-data Օգտատեր։
Այս լողավազանը հարմար է մեկ կայքի միջավայրերի համար, հեշտ է կարգավորել, և պարամետրերի մեծ մասը ընդհանուր արժեքներ են, ինչպիսիք են՝
user = www-datagroup = www-datalisten = /run/php/php8.3-fpm.sockpm.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

