دليل المادة
هل كل شيء على ما يرام بمجرد تشغيل الخادم؟ في الواقع، في عالم 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
إذا كنت تعمل على موقع واحد فقط، فهذا يكفي.
etجسم غامض.org.conf: مجموعة مواقع مخصصة
عندما يكون لديك مواقع متعددة، فأنت بحاجة إلى إنشاء مجموعة منفصلة لكل موقع.
مثل etufo.org.confوهو مخصص لأسماء النطاقات تحديداً. etجسم غامض. المؤسسة تكوين حصري.
الممارسة الشائعة هي:
- حدد مستخدمين ومجموعات مختلفة، على سبيل المثال
user = etufo،group = etufo - قم بتهيئة منفذ استماع أو مقبس منفصل، على سبيل المثال
listen = /run/php/etufo.sock - اضبط عدد العمليات لضمان استقرار الموقع في ظل التزامن العالي.
- تُسهّل ملفات السجل المستقلة عملية استكشاف الأخطاء وإصلاحها.
تتمثل ميزة هذا النهج في العزل الأمني: فحتى إذا تعرض موقع واحد للهجوم، فلن تتأثر المواقع الأخرى.
dummy.conf: ملف مثال أو ملف بديل
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 إنها مسودة للنوتات الموسيقية، تذكرك بكيفية كتابة ألحان جديدة.
في عصر يركز على أمن المعلومات وتحسين الأداء، فإن معرفة كيفية استخدام ملفات التكوين هذه بشكل صحيح أمر أساسي للتحكم في خط حياة الخادم.
التكوين ليس مجرد نص تافه؛ إنه روح الخادم.
إذا كنت تقوم بتشغيلWordPressبالنسبة للتطبيقات متعددة المواقع، نوصي بشدة بالتحقق من ملفات المجموعة هذه وتحسينها على الفور، وخاصة إعدادات معلمات مجموعة العمليات، لجعل خادمك قويًا للغاية.
مدونة Hope Chen Weiliang ( https://www.chenweiliang.com/ قد تكون المقالة "الاختلافات وتقنيات التحسين لملف تكوين PHP-FPM /etc/php/8.3/fpm/pool.d/" التي تمت مشاركتها هنا مفيدة لك.
مرحبا بكم في مشاركة رابط هذه المقالة:https://www.chenweiliang.com/cwl-33845.html

