آرٹیکل ڈائرکٹری
کیا سرور چلنے کے بعد سب کچھ ٹھیک ہے؟ دراصل، PHP-FPM کی دنیا میں، کنفیگریشن فائل ہی اصل ماسٹر مائنڈ ہے، جو اس بات کا تعین کرتی ہے کہ آیا سائٹ مستحکم، محفوظ اور موثر طریقے سے چل سکتی ہے۔
PHP-FPM کے لیے پروسیس پول کنفیگریشن کیا ہے؟
PHP-FPM (FastCGI Process Manager) 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 后自动退出
یہ ترتیب وسائل کے ضیاع سے بچنے کے دوران کارکردگی کو یقینی بناتی ہے۔
ترتیب کی تفصیلی ہدایات کے لیے، براہ کرم درج ذیل ٹیوٹوریل ▼ سے رجوع کریں۔
پی ایچ پی کی سرکاری دستاویزات کے مطابق:
"ہر پول کو آزادانہ طور پر ترتیب دیا جا سکتا ہے، مختلف صارفین، حدود، اور فی درخواست کی ترتیبات کی اجازت دیتے ہوئے۔"
یہ بیان واضح طور پر ملٹی پول کنفیگریشن کی اہمیت کی نشاندہی کرتا ہے: آزادی، لچک، اور قابل کنٹرول۔
نتیجہ: میرا نقطہ نظر
سرور کی ترتیب آرکسٹرا میں ایک کنڈکٹر کی طرح ہے، جو اس بات کا تعین کرتی ہے کہ ہر آلے کو کس طرح بجانا چاہیے۔
www.conf یہ ڈیفالٹ کنڈکٹر ہے، جو سولو پرفارمنس کے لیے موزوں ہے۔etufo.org.conf یہ ایک مخصوص مرحلے کے لیے تیار کردہ کنڈکٹر ہے۔ اور dummy.conf یہ میوزیکل اسکورز کا ایک مسودہ ہے، جو آپ کو یاد دلاتا ہے کہ نئی دھنیں کیسے لکھیں۔
معلومات کی حفاظت اور کارکردگی کی اصلاح پر توجہ مرکوز کرنے والے دور میں، ان کنفیگریشن فائلوں کو صحیح طریقے سے استعمال کرنے کا طریقہ جاننا سرور کی لائف لائن کو کنٹرول کرنے کی کلید ہے۔
ترتیب صرف معمولی متن نہیں ہے۔ یہ ایک سرور کی روح ہے.
اگر آپ کام کر رہے ہیں۔WordPressملٹی سائیٹ ایپلی کیشنز کے لیے، ہم پرزور مشورہ دیتے ہیں کہ آپ ان پول فائلوں کو فوری طور پر چیک کریں اور آپٹمائز کریں، خاص طور پر پراسیس پول پیرامیٹر سیٹنگز، تاکہ آپ کے سرور کو حقیقی معنوں میں ٹھوس بنایا جا سکے۔
ہوپ چن ویلیانگ بلاگ ( https://www.chenweiliang.com/ یہاں شیئر کیا گیا مضمون "PHP-FPM /etc/php/8.3/fpm/pool.d/ کنفیگریشن فائل کے اختلافات اور اصلاح کی تکنیک" آپ کے لیے مددگار ثابت ہو سکتا ہے۔
اس مضمون کا لنک شیئر کرنے میں خوش آمدید:https://www.chenweiliang.com/cwl-33845.html

