אַרטיקל וועגווייַזער
איז אלעס אין ארדענונג ווען דער סערווער לויפט? פאקטיש, אין דער וועלט פון PHP-FPM, איז די קאנפיגוראציע טעקע דער ריכטיגער מיינד, וואס באשטימט צי דער וועבזייטל קען לויפן סטאביל, זיכער, און עפעקטיוו.
וואָס איז די פּראָצעס פּול קאָנפיגוראַציע פֿאַר PHP-FPM?
PHP-FPM (FastCGI פּראָצעס מאַנאַדזשער) איז אַ פּראָצעס מאַנאַדזשער פֿאַר PHP וואָס ניצט דעם באַגריף פון "פּולז" צו פאַרוואַלטן 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. - דאַמי.קאָנףנאָר פֿאַר רעפֿערענץ, נישט רעקאָמענדירט.
קאָנפיגוראַציע פאַרגלייַך בייַשפּיל
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 עס איז אַן ענדע פֿון מוזיקאַלישע פּאַרטיטורן, וואָס דערמאָנט אײַך ווי אַזוי צו שרײַבן נײַע מעלאָדיעס.
אין אַן עפאכע פאָקוסירט אויף אינפֿאָרמאַציע זיכערהייט און פאָרשטעלונג אָפּטימיזאַציע, וויסן ווי צו ריכטיק נוצן די קאָנפיגוראַציע טעקעס איז שליסל צו קאָנטראָלירן די לעבנס-ליניע פון אַ סערווער.
קאָנפיגוראַציע איז נישט נאָר טריוויאַלער טעקסט; עס איז די נשמה פון אַ סערווער.
אויב איר אַרבעטוואָרדפּרעסספֿאַר מולטי-סייט אַפּליקאַציעס, רעקאָמענדירן מיר שטאַרק אַז איר זאָלט גלייך קאָנטראָלירן און אָפּטימיזירן די פּול טעקעס, ספּעציעל די פּראָצעס פּול פּאַראַמעטער סעטטינגס, כּדי צו מאַכן אייער סערווער באמת שטיין-פֿעסט.
Hope Chen Weiliang בלאָג ( https://www.chenweiliang.com/ דער אַרטיקל "אונטערשיידן און אָפּטימיזאַציע טעקניקס פון די PHP-FPM /etc/php/8.3/fpm/pool.d/ קאָנפיגוראַציע טעקע" וואָס ווערט דאָ געטיילט קען זיין נוצלעך פֿאַר אײַך.
ברוכים הבאים צו טיילן דעם לינק פון דעם אַרטיקל:https://www.chenweiliang.com/cwl-33845.html

