اپاچی اور نگینکس۔ ایک زنجیر سے جڑا ہوا ہے۔

ٹائم ویب میں اپاچی اور نگینکس کا امتزاج کیسے لاگو ہوتا ہے۔

بہت سی کمپنیوں کے لیے، Nginx + Apache + PHP ایک بہت ہی عام اور عام مجموعہ ہے، اور Timeweb بھی اس سے مستثنیٰ نہیں ہے۔ تاہم، یہ سمجھنا کہ اسے کس طرح لاگو کیا جاتا ہے دلچسپ اور مفید ہو سکتا ہے۔

اپاچی اور نگینکس۔ ایک زنجیر سے جڑا ہوا ہے۔

اس طرح کے امتزاج کا استعمال یقیناً ہمارے گاہکوں کی ضروریات کے مطابق ہوتا ہے۔ Nginx اور Apache دونوں ایک خاص کردار ادا کرتے ہیں، ہر ایک ایک مخصوص مسئلہ حل کرتا ہے۔

بنیادی ترتیبات اپاچی خود اپاچی کی کنفیگریشن فائلوں میں انجام پاتے ہیں، اور کلائنٹ سائٹس کے لیے سیٹنگز اس کے ذریعے ہوتی ہیں۔ htaccess فائل. .htaccess ایک کنفیگریشن فائل ہے جس میں کلائنٹ آزادانہ طور پر ویب سرور کے قوانین اور رویے کو ترتیب دے سکتا ہے۔ یہ ترتیب خاص طور پر اس کی سائٹ پر لاگو ہوگی۔ مثال کے طور پر، اپاچی کی فعالیت کی بدولت، صارفین اسی پی ایچ پی ورژن میں آپریٹنگ موڈ کو mod_php سے mod_cgi میں تبدیل کر سکتے ہیں۔ آپ ری ڈائریکٹ، SEO کے لیے اصلاح، آسان یو آر ایل، پی ایچ پی کے لیے کچھ حدود ترتیب دے سکتے ہیں۔

نگنکس ٹریفک کو اپاچی کی طرف ری ڈائریکٹ کرنے کے لیے پراکسی سرور کے طور پر اور جامد مواد پیش کرنے کے لیے ویب سرور کے طور پر استعمال کیا جاتا ہے۔ ہم نے Nginx کے لیے سیکیورٹی ماڈیولز بھی تیار کیے ہیں جو ہمیں اپنے صارفین کے ڈیٹا کی حفاظت کرنے کی اجازت دیتے ہیں، مثال کے طور پر، رسائی کے حقوق کو الگ کرنے کے لیے۔

آئیے تصور کریں کہ ایک صارف ہمارے کلائنٹ کی ویب سائٹ پر جاتا ہے۔ سب سے پہلے، صارف Nginx پر جاتا ہے، جو جامد مواد پیش کرتا ہے۔ یہ فوری طور پر ہوتا ہے۔ پھر، جب پی ایچ پی کو لوڈ کرنے کی بات آتی ہے، تو Nginx درخواست کو اپاچی کو بھیج دیتا ہے۔ اور اپاچی، پی ایچ پی کے ساتھ، پہلے سے ہی متحرک مواد تیار کرتا ہے۔

Timeweb میں Apache اور Nginx بنڈل کی خصوصیات

ہماری ورچوئل ہوسٹنگ Apache اور Nginx کے لیے 2 اہم آپریٹنگ اسکیمیں نافذ کرتی ہے: مشترکہ اور سرشار.

مشترکہ اسکیم

یہ اسکیم زیادہ تر صارفین کے لیے استعمال ہوتی ہے۔ یہ اس کی سادگی اور وسائل کی شدت سے ممتاز ہے: مشترکہ اسکیم کم وسائل استعمال کرتی ہے، یہی وجہ ہے کہ اس کا ٹیرف سستا ہے۔ اس اسکیم کے مطابق، سرور ایک Nginx چلاتا ہے، جو اسے صارف کی تمام درخواستوں اور اپاچی کی متعدد مثالوں کو پیش کرنے کی اجازت دیتا ہے۔

مشترکہ اسکیم میں کافی عرصے سے بہتری آرہی ہے: آہستہ آہستہ ہم نے خامیوں کو دور کیا۔ آسانی سے، یہ سورس کوڈ میں ترمیم کرنے کی ضرورت کے بغیر کیا جا سکتا ہے۔

اپاچی اور نگینکس۔ ایک زنجیر سے جڑا ہوا ہے۔
مشترکہ اسکیم

سرشار اسکیم

وقف کو زیادہ وسائل کی ضرورت ہوتی ہے، لہذا اس کا ٹیرف صارفین کے لیے زیادہ مہنگا ہے۔ ڈیڈیکیٹڈ اسکیم میں، ہر کلائنٹ کو اپنا الگ اپاچی ملتا ہے۔ یہاں کے وسائل کلائنٹ کے لیے مخصوص ہیں، وہ خصوصی طور پر مختص کیے گئے ہیں۔ یہ کیسے کام کرتا ہے: سرور پر پی ایچ پی کے کئی ورژن ہیں۔ ہم ورژن 5.3، 5.4، 5.6، 7.1، 7.2، 7.3، 7.4 کو سپورٹ کرتے ہیں۔ لہذا، پی ایچ پی کے ہر ورژن کے لیے اس کا اپنا اپاچی لانچ کیا گیا ہے۔

اپاچی اور نگینکس۔ ایک زنجیر سے جڑا ہوا ہے۔
سرشار اسکیم

محفوظ علاقہ. Nginx میں زون قائم کرنا

اس سے پہلے، Nginx کے لیے، ہم نے بہت سے مشترکہ میموری زونز (زون) استعمال کیے تھے - فی ڈومین ایک سرور بلاک۔ اس سیٹ اپ کے لیے بہت سارے وسائل درکار ہیں، کیونکہ ہر سائٹ کے لیے ایک الگ زون بنایا گیا ہے۔ تاہم، Nginx کی ترتیبات میں، زیادہ تر سائٹیں ایک ہی قسم کی ہیں، لہذا ماڈیول میں نقشہ کی ہدایات کے استعمال کی بدولت انہیں ایک زون میں رکھا جا سکتا ہے۔ ngx_http_map_module، جو آپ کو خط و کتابت کی وضاحت کرنے کی اجازت دیتا ہے۔ مثال کے طور پر، ہمارے پاس ایک زون ٹیمپلیٹ ہے جس میں ہمیں متغیرات کی فراہمی ضروری ہے: سائٹ کا راستہ، پی ایچ پی ورژن، صارف۔ اس طرح، Nginx ترتیب کو دوبارہ پڑھنے، یعنی دوبارہ لوڈ، کو تیز کیا گیا۔

اس ترتیب نے RAM کے وسائل کو بہت زیادہ بچایا اور Nginx کو تیز کیا۔

دوبارہ لوڈ کام نہیں کرے گا!

مشترکہ اسکیم میں، ویب سائٹ کی ترتیبات کو تبدیل کرتے وقت ہمیں اپاچی کو دوبارہ لوڈ کرنے کی ضرورت سے نجات مل گئی۔ پہلے، جب ایک کلائنٹ ڈومین شامل کرنا چاہتا تھا یا پی ایچ پی ورژن تبدیل کرنا چاہتا تھا، تو اپاچی کو دوبارہ لوڈ کرنے کی ضرورت ہوتی تھی، جس کی وجہ سے جوابات میں تاخیر ہوتی تھی اور سائٹ کی کارکردگی منفی طور پر متاثر ہوتی تھی۔

ہم نے متحرک کنفیگریشن بنا کر دوبارہ لوڈز سے چھٹکارا حاصل کیا۔ کا شکریہ mpm-itk (اپاچی ماڈیول)، ہر عمل ایک الگ صارف کے طور پر چلتا ہے، جس سے سیکورٹی کی سطح بڑھ جاتی ہے۔ یہ طریقہ آپ کو صارف اور اس کے document_root کے بارے میں ڈیٹا کو Nginx سے Apache2 میں منتقل کرنے کی اجازت دیتا ہے۔ اس طرح، اپاچی سائٹ کنفیگریشنز پر مشتمل نہیں ہے، یہ انہیں متحرک طور پر وصول کرتا ہے، اور دوبارہ لوڈ کی ضرورت نہیں ہے۔

اپاچی اور نگینکس۔ ایک زنجیر سے جڑا ہوا ہے۔
مشترکہ اسکیما کنفیگریشن

ڈوکر کے بارے میں کیا خیال ہے؟

بہت سی کمپنیاں کنٹینر پر مبنی نظام میں منتقل ہو گئی ہیں۔ Timeweb فی الحال اس طرح کی منتقلی کے امکان پر غور کر رہا ہے۔ یقیناً ہر فیصلے کے فائدے اور نقصانات ہوتے ہیں۔

ناقابل تردید فوائد کے ساتھ، کنٹینر سسٹم صارف کو کم وسائل فراہم کرتا ہے۔ Timeweb میں، بیان کردہ ہوسٹنگ اسکیم کی بدولت، صارف کی RAM میں کوئی حد نہیں ہے۔ یہ کنٹینر سے زیادہ وسائل حاصل کرتا ہے۔ اس کے علاوہ، صارف کے پاس مزید اپاچی ماڈیول لوڈ ہو سکتے ہیں۔

Timeweb تقریباً 500 ویب سائٹس کو طاقت دیتا ہے۔ ہم بڑی ذمہ داری لیتے ہیں اور پیچیدہ فن تعمیر میں فوری، بلاجواز تبدیلیاں نہیں کرتے۔ Apache اور Nginx کا امتزاج قابل بھروسہ اور وقتی تجربہ ہے۔ ہم، بدلے میں، منفرد ترتیب کے ذریعے زیادہ سے زیادہ کارکردگی حاصل کرنے کی کوشش کرتے ہیں۔

بڑی تعداد میں سائٹس کے اعلیٰ معیار اور تیز رفتار آپریشن کے لیے، آپ کو Apache اور Nginx کی ٹیمپلیٹ اور متحرک کنفیگریشن استعمال کرنے کی ضرورت ہے۔ یہ آپ کو آسانی سے اور تیزی سے ملتے جلتے سرورز کی ایک بڑی تعداد کا انتظام کرنے کی اجازت دیتا ہے۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں