הבדלים וטכניקות אופטימיזציה בקובץ התצורה של 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: קובץ דוגמה או קובץ placeholder

dummy.conf אלו בדרך כלל תבניות או דוגמאות שמספקת המערכת.

הוא לא יופעל בפועל אלא אם כן תשנה ותפעיל אותו באופן ידני.

מטרתו היא לספק לך מקור מידע ולהראות לך כיצד לכתוב תצורת מאגר חדשה.

לכן, זה יותר כמו "מדריך הוראות" מאשר תצורה בפועל להפעלה.

למה להשתמש בקבצי מאגר מרובים?

  • 安全 性אתרים שונים צריכים להיות מופעלים על ידי משתמשים שונים כדי למנוע חפיפה של הרשאות.
  • 性能优化ניתן להגדיר את מספר התהליכים באופן אינדיבידואלי עבור כל מאגר ולהתאים אותו בהתאם לדרישת התעבורה.
  • בידודיומני רישום, פלט שגיאות ויציאות האזנה מופרדים כולם, מה שמקל על פתרון בעיות.

לדוגמה, אם www.conf זה קרס.etufo.org.conf זה עדיין יכול לפעול כרגיל ולא יגרום להפלות של כל השרת.

תרחישי יישום בפועל

  • שרת באתר יחידהשתמשו רק 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

תגלו שההבדל טמון במשתמש, בכתובת ההאזנה ובמספר התהליכים.

התאמת פרמטרים של מאגר תהליכי 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

כדי לפתוח עוד טריקים נסתרים🔑, מוזמנים להצטרף לערוץ הטלגרם שלנו!

שתפו ותעשו לייק אם אהבתם! השיתופים והלייקים שלך הם המניע המתמשך שלנו!

 

发表 评论

כתובת האימייל שלך לא תפורסם. 必填 项 已 用 * תווית

מדריך מאמרים
גלול למעלה