Ubuntu 20.04 LTS پر Memcached کو کیسے انسٹال کریں۔

اپنے PHP اور Python ایپس کے ساتھ Memcached سرور استعمال کرکے اپنے ڈیٹا بیس کی کارکردگی کو بہتر بنائیں

اگر آپ نے کبھی اپنے ویب ایپس میں سست روی کا باعث بننے والے ڈیٹا بیس کے زیادہ بوجھ کا درد محسوس کیا ہے اور سوچا ہے کہ "کیا DB سوالات کی وجہ سے ہونے والی تاخیر کو کم کرنے کا کوئی طریقہ ہے؟"، تو اس سوال کا جواب بڑی ہاں میں ہے۔ آپ کی تمام پریشانیوں کو حل کرنے کے لئے ایک دوستانہ پڑوس کی میموری کیش ڈیمون کو میم کیچ کیا گیا ہے! DB کیشنگ DB بوجھ کو کم کرنے اور متحرک ویب ایپلیکیشنز کو تیز کرنے کے آسان ترین طریقوں میں سے ایک ہے۔

Memcached خود کو اعلی کارکردگی، تقسیم شدہ میموری آبجیکٹ کیشنگ سسٹم کے طور پر بیان کرتا ہے، فطرت میں عام ہے، لیکن اصل میں ڈیٹا بیس کے بوجھ کو کم کرکے متحرک ویب ایپلیکیشنز کو تیز کرنے میں استعمال کرنا ہے۔ بریڈ فٹز پیٹرک نے 2003 میں اپنی ویب سائٹ LiveJournal کے لیے تیار کیا۔

اس آرٹیکل میں، ہم دیکھیں گے کہ Ubuntu 20.04 میں Memcached کو کیسے انسٹال اور کنفیگر کیا جائے اور اس کے زبان کے مخصوص کلائنٹس کو دیکھیں۔

شرطیں

انتظامی حقوق کے حامل صارف کے ساتھ Ubuntu 20.04 کے ساتھ نصب ایک سسٹم، یعنی a sudo صارف

تنصیب

Memcached سرکاری Ubuntu 20.04 ذخیرہ پر دستیاب ہے، Memcached کے علاوہ ہم ایک CLI ٹول بھی انسٹال کرنے جا رہے ہیں libmemcached-tools Memcached کا انتظام کرنے کے لئے. دونوں کو انسٹال کرنے کے لیے بس درج ذیل کمانڈ کو چلائیں۔

sudo apt memcached libmemcached-tools انسٹال کریں۔

انسٹالیشن کی تصدیق کریں۔

انسٹالیشن مکمل ہونے کے بعد، Memcached ڈیمون خود ہی پس منظر میں شروع ہو جاتا ہے۔ تنصیب کی تصدیق کرنے کے لیے، ہم سے کمانڈ استعمال کر سکتے ہیں۔ libmemcached-tools Memcached سرور کے اعدادوشمار حاصل کرنے کے لیے پیکیج۔ یا تو بھاگو

memcstat --servers لوکل ہوسٹ

یا

memcstat --servers 127.0.0.1

دی memcstat کمانڈ چلانے والے سرور کے اعدادوشمار کو ظاہر کرتا ہے۔ مندرجہ بالا کمانڈ کے نتیجے میں آؤٹ پٹ نیچے دکھایا جائے گا۔

مختلف اعدادوشمار جیسے اپ ٹائم سیکنڈوں میں، ورژن اور pid آؤٹ پٹ کے طور پر دکھایا جائے گا. تاہم، اگر کوئی آؤٹ پٹ ظاہر نہیں ہوتا ہے تو یہ ممکن ہے کہ Memcached نہیں چل رہا ہے۔ لہذا، آپ کو Memcached سرور کو شروع کرنے کے لیے درج ذیل کمانڈ کو چلانا چاہیے۔

sudo systemctl start memcached

سسٹم اسٹارٹ اپ پر میمکیچڈ سرور کو چلانے کے لیے درج ذیل کمانڈ کا استعمال کریں۔

sudo systemctl enable memcached

Memcached کو ترتیب دینا

اگر آپ نے ویب سائٹ کے سرور پر ہی اپنا memcached انسٹال کر رکھا ہے، تو کنفیگریشن فائل کو تبدیل کرنے کی ضرورت نہیں ہے کیونکہ memcached کو لوکل ہوسٹ کے ساتھ کام کرنے کے لیے پہلے سے ترتیب دیا گیا ہے۔

دوسری طرف، اگر آپ نے میم کیچڈ کو علیحدہ سسٹم پر انسٹال کیا ہے تو آپ کو ریموٹ سرور کو Memcached سرور تک رسائی کی اجازت دینے کے لیے کنفیگریشن کو تبدیل کرنے کی ضرورت ہوگی۔

Memcached سرور کے لیے ریموٹ ایکسیس ترتیب دینا

Memcached DDoS (ڈسٹری بیوٹڈ ڈینیئل آف سروس) کے حملوں کا شکار ہے۔ فائر وال کے غلط اصول اور کھلے UDP پورٹس آپ کے سرور کو کھلا چھوڑ دیں گے اور DDoS حملوں کا شکار ہو جائیں گے۔

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

باکس سے باہر، Ubuntu جہاز جس میں TCP یا UDP بندرگاہیں نہیں کھلی ہیں۔ مزید برآں، فائر وال ڈیمون ufw (غیر پیچیدہ فائر وال) بطور ڈیفالٹ فعال نہیں ہے۔

ہم فائر وال کو فعال کرنے اور Memcached کنفیگریشن قائم کرنے جا رہے ہیں تاکہ ہم DDoS کے خطرے کو کم کر سکیں۔

سب سے پہلے، فعال کریں ufw درج ذیل کمانڈ کو چلا کر:

sudo systemctl ufw کو فعال کریں۔

پھر شروع کریں۔ ufw درج ذیل کمانڈ کو چلا کر خدمت کریں:

sudo systemctl start ufw

فائر وال کے چلنے کے ساتھ، ہم آخر کار فائر وال کے اصول ترتیب دے سکتے ہیں۔ سب سے پہلے، SSH کنکشن کی اجازت دینے کے لیے پورٹ 22 کو فعال کریں۔ مطلوبہ سرور تک دور سے رسائی کے لیے SSH کی ضرورت ہے۔

sudo ufw اجازت دیں 22

دوم، آپ کو کلائنٹ کا آئی پی ایڈریس جاننے کی ضرورت ہے، جو کہ ویب ایپلیکیشن ہوسٹ اور سرور کا آئی پی ایڈریس ہے، یعنی میم کیچڈ سرور۔

اس مثال کے لیے، ہم کلائنٹ آئی پی کو مان لیتے ہیں۔ 192.168.0.4 اور Memcached سرور IP ہونا ہے۔ 192.168.0.5 مقامی نیٹ ورک پر۔

لہذا کلائنٹ سرور تک میمکیچڈ سرور کی ریموٹ رسائی کی اجازت دینے کے لئے، چلائیں:

sudo ufw 192.168.0.4 سے کسی بھی پورٹ 11211 کی اجازت دیتا ہے

کو تبدیل کریں۔ 192.168.0.4 اپنے مطلوبہ کلائنٹ آئی پی ایڈریس کے ساتھ۔

اگلا، پر واقع Memcached کنفیگریشن فائل میں ترمیم کریں۔ /etc/memcached.conf چلانے سے نینو کمانڈ.

sudo nano /etc/memcached.conf

دی memcached.conf کنفیگریشن فائل نینو ایڈیٹر کے ساتھ کھل جائے گی، تلاش کریں۔ -l 127.0.0.1 ترتیب میں لائن اور تبدیل کریں 127.0.0.1 اپنے Memcached سرور IP کے ساتھ یا اس مثال میں 192.168.0.5.

پریس کو تبدیل کرنے کے بعد ctrl+o کنفیگریشن فائل پر لکھنے کے لیے اور انٹر دبائیں، دبائیں ctrl+x نینو سے باہر نکلنے کے لیے۔

Memcached سرور کو دوبارہ شروع کریں اور ufw نیچے دی گئی کمانڈ کو چلا کر فائر وال۔

sudo systemctl restart memcached ufw

اب ہم نے Ubuntu 20.04 پر Memcached سرور کی انسٹالیشن اور کنفیگریشن مکمل کر لی ہے۔

Memcached سرور سے منسلک ہو رہا ہے۔

Memcached سرور استعمال کرنے کے لیے، آپ کو زبان کے لیے مخصوص کلائنٹ انسٹال کرنے کی ضرورت ہوگی۔ خوش قسمتی سے، Memcached کو بہت سی مشہور زبانوں کی حمایت حاصل ہے۔

تو آئیے دیکھتے ہیں انسٹال کرنے کا طریقہ php اور ازگر Memcached کے لئے کلائنٹ.

PHP سب سے زیادہ مقبول سرور سائیڈ اسکرپٹنگ لینگویج ہے اور Memcached زیادہ تر ویب ڈویلپرز کے ذریعے PHP سے چلنے والی ویب ایپس کی سرور کی کارکردگی کو بہتر بنانے کے لیے استعمال کیا جاتا ہے۔

php میں memcached سپورٹ انسٹال کرنے کے لیے، رن:

sudo apt php-memcached انسٹال کریں۔

ازگر کے پاس بھی کئی لائبریریاں ہیں جو کام کر سکتی ہیں اور میمکیچڈ سرور کے ساتھ تعامل کر سکتی ہیں جیسے pymemcached یا python-memcached.

آپ مندرجہ ذیل pip کمانڈز چلا کر python کے لیے memcached انسٹال کر سکتے ہیں۔

pip install pymemcache
pip انسٹال python-memcached

آخر میں، ہم نے Ubuntu 20.04 میں انسٹالیشن، کنفیگریشن اور Memcached کے چند مخصوص زبان کے کلائنٹس کو دیکھا ہے۔

Memcached کے مزید سخت اور جدید استعمال جاننے کے لیے، Memcached Wiki پر ایک نظر ڈالیں۔