উবুন্টু 20.04 এলটিএস-এ কীভাবে মেমক্যাচেড ইনস্টল করবেন

আপনার পিএইচপি এবং পাইথন অ্যাপ্লিকেশনগুলির সাথে মেমক্যাশেড সার্ভার ব্যবহার করে আপনার ডাটাবেস কর্মক্ষমতা অপ্টিমাইজ করুন

আপনি যদি কখনও উচ্চ ডাটাবেস লোডের ব্যথা অনুভব করেন যার ফলে আপনার ওয়েব-অ্যাপগুলি মন্থর হয়ে যায় এবং ভেবে থাকেন "ডিবি কোয়েরির কারণে লেটেন্সি কমানোর কোনো উপায় আছে কি?", তাহলে সেই প্রশ্নের উত্তরটি একটি বড় হ্যাঁ। Memcached একটি বন্ধুত্বপূর্ণ প্রতিবেশী মেমরি ক্যাশে ডেমন আপনার সমস্ত সমস্যা সমাধানের জন্য এখানে! DB ক্যাশে করা হল DB লোড কমানোর এবং গতিশীল ওয়েব অ্যাপ্লিকেশনের গতি বাড়ানোর অন্যতম সহজ পদ্ধতি।

Memcached নিজেকে উচ্চ-পারফরম্যান্স, বিতরণ করা মেমরি অবজেক্ট ক্যাশিং সিস্টেম হিসাবে সংজ্ঞায়িত করে, প্রকৃতিতে জেনেরিক, কিন্তু মূলত ডাটাবেস লোড কমিয়ে গতিশীল ওয়েব অ্যাপ্লিকেশনের গতি বাড়ানোর জন্য ব্যবহারের উদ্দেশ্যে। ব্র্যাড ফিটজপ্যাট্রিক 2003 সালে তার ওয়েবসাইট লাইভজার্নালের জন্য তৈরি করেছিলেন।

এই নিবন্ধে, আমরা উবুন্টু 20.04-এ মেমক্যাচেড কীভাবে ইনস্টল এবং কনফিগার করতে হয় তা দেখব এবং এর ভাষা-নির্দিষ্ট ক্লায়েন্টগুলিকে দেখব।

পূর্বশর্ত

প্রশাসনিক অধিকার সহ ব্যবহারকারীর সাথে উবুন্টু 20.04 এর সাথে ইনস্টল করা একটি সিস্টেম, সেটি হল একটি sudo ব্যবহারকারী

স্থাপন

Memcached অফিসিয়াল উবুন্টু 20.04 সংগ্রহস্থলে উপলব্ধ, Memcached ছাড়াও আমরা একটি CLI টুল ইনস্টল করতে যাচ্ছি যা নামে পরিচিত libmemcached- টুলস Memcached পরিচালনা করতে। উভয় ইন্সটল করতে নিচের কমান্ডটি চালান

sudo apt memcached libmemcached-tools ইনস্টল করুন

ইনস্টলেশন যাচাই করুন

ইনস্টলেশন সম্পূর্ণ হওয়ার পরে, মেমক্যাচেড ডেমন নিজে থেকেই ব্যাকগ্রাউন্ডে শুরু হয়। ইনস্টলেশন যাচাই করতে, আমরা থেকে একটি কমান্ড ব্যবহার করতে পারি libmemcached- টুলস Memcached সার্ভার পরিসংখ্যান পেতে প্যাকেজ। হয় দৌড়াও

memcstat --সার্ভার লোকালহোস্ট

বা

memcstat --সার্ভার 127.0.0.1

দ্য memcstat কমান্ড চলমান সার্ভারের পরিসংখ্যান দেখায়। উপরের কমান্ডের ফলে আউটপুট নিচে প্রদর্শিত হবে।

বিভিন্ন পরিসংখ্যান যেমন আপটাইম সেকন্ডেই, সংস্করণ এবং পিড আউটপুট হিসাবে প্রদর্শিত হবে। যাইহোক, যদি কোনও আউটপুট প্রদর্শিত না হয় তবে এটি সম্ভব যে মেমক্যাচেড চলছে না। অতএব, মেমক্যাচেড সার্ভার শুরু করতে আপনাকে অবশ্যই নিম্নলিখিত কমান্ডটি চালাতে হবে।

sudo systemctl মেমক্যাশেড শুরু করুন

সিস্টেম স্টার্টআপে Memcached সার্ভার চালানোর জন্য নিম্নলিখিত কমান্ডটি ব্যবহার করুন।

sudo systemctl memcached সক্ষম করুন

Memcached কনফিগার করা হচ্ছে

আপনি যদি ওয়েবসাইট সার্ভারে আপনার মেমক্যাচেড ইনস্টল করে থাকেন, তাহলে কনফিগারেশন ফাইল পরিবর্তন করার কোন প্রয়োজন নেই কারণ মেমক্যাচেড লোকালহোস্টের সাথে কাজ করার জন্য প্রি-কনফিগার করা আছে।

অন্যদিকে, আপনি যদি একটি পৃথক সিস্টেমে Memcached ইনস্টল করে থাকেন তবে আপনাকে মেমক্যাচেড সার্ভারে রিমোট সার্ভার অ্যাক্সেসের অনুমতি দেওয়ার জন্য কনফিগারেশন পরিবর্তন করতে হবে।

Memcached সার্ভারের জন্য দূরবর্তী অ্যাক্সেস সেট আপ করা হচ্ছে

Memcached DDoS (ডিস্ট্রিবিউটেড ডিনাল অফ সার্ভিস) আক্রমণের জন্য ঝুঁকিপূর্ণ। ভুল ফায়ারওয়াল নিয়ম এবং খোলা UDP পোর্টগুলি আপনার সার্ভারকে উন্মুক্ত এবং DDoS আক্রমণের জন্য ঝুঁকিপূর্ণ ছেড়ে দেবে।

ঝুঁকি কমাতে, আমরা হয় কনফিগারেশনে Memcached-এর জন্য UDP প্রোটোকল অক্ষম করতে পারি বা শুধুমাত্র বিশ্বস্ত সার্ভারকে অনুমতি দেওয়ার জন্য ফায়ারওয়াল সেট আপ করতে পারি।

বাক্সের বাইরে, TCP বা UDP পোর্ট ছাড়া উবুন্টু জাহাজগুলি খোলা নেই। উপরন্তু, ফায়ারওয়াল ডেমন ufw (জটিল ফায়ারওয়াল) ডিফল্টরূপে সক্রিয় নয়।

আমরা ফায়ারওয়াল সক্রিয় করতে যাচ্ছি এবং Memcached কনফিগারেশন সেট আপ করতে যাচ্ছি যাতে আমরা DDoS দুর্বলতা কমাতে পারি।

প্রথমত, সক্রিয় করুন ufw নিম্নলিখিত কমান্ড চালানোর মাধ্যমে:

sudo systemctl ufw সক্ষম করে

তারপর শুরু করুন ufw নীচের কমান্ড চালানোর মাধ্যমে পরিষেবা:

sudo systemctl start ufw

ফায়ারওয়াল চলার সাথে, আমরা অবশেষে ফায়ারওয়াল নিয়ম সেট আপ করতে পারি। প্রথমত, SSH সংযোগের অনুমতি দিতে পোর্ট 22 সক্রিয় করুন। দূরবর্তীভাবে পছন্দসই সার্ভার অ্যাক্সেস করতে SSH প্রয়োজন।

sudo ufw অনুমতি 22

দ্বিতীয়ত, আপনাকে ক্লায়েন্টের আইপি ঠিকানা জানতে হবে, সেটি হল ওয়েব-অ্যাপ্লিকেশন হোস্ট এবং সার্ভারের আইপি ঠিকানা, সেটি হল মেমক্যাচড সার্ভার।

এই উদাহরণে, আসুন আমরা ক্লায়েন্ট আইপিকে ধরে নিই 192.168.0.4 এবং মেমক্যাশেড সার্ভার আইপি হতে হবে 192.168.0.5 একটি স্থানীয় নেটওয়ার্কে।

তাই ক্লায়েন্ট সার্ভারে মেমক্যাশেড সার্ভারের দূরবর্তী অ্যাক্সেসের অনুমতি দিতে, চালান:

sudo ufw 192.168.0.4 থেকে যেকোনো পোর্ট 11211 এ অনুমতি দেয়

প্রতিস্থাপন 192.168.0.4 আপনার পছন্দসই ক্লায়েন্ট আইপি ঠিকানা সহ।

এরপরে, এ অবস্থিত মেমক্যাশড কনফিগারেশন ফাইলটি সম্পাদনা করুন /etc/memcached.conf দৌড়ানোর মাধ্যমে ন্যানো আদেশ

sudo nano /etc/memcached.conf

দ্য memcached.conf ন্যানো এডিটর দিয়ে কনফিগারেশন ফাইল খুলবে, দেখুন -l 127.0.0.1 কনফিগারেশন এবং প্রতিস্থাপন লাইন 127.0.0.1 আপনার মেমক্যাশেড সার্ভার আইপি দিয়ে বা এই উদাহরণে 192.168.0.5.

প্রেস প্রতিস্থাপন পরে ctrl+o কনফিগারেশন ফাইলে লিখতে এবং এন্টার টিপুন, টিপুন ctrl+x ন্যানো থেকে প্রস্থান করতে।

Memcached সার্ভার পুনরায় চালু করুন এবং ufw নিচের কমান্ডটি চালিয়ে ফায়ারওয়াল।

sudo systemctl restart memcached ufw

এখন আমরা উবুন্টু 20.04 এ Memcached সার্ভারের ইনস্টলেশন এবং কনফিগারেশন সম্পন্ন করেছি।

Memcached সার্ভারের সাথে সংযোগ করা হচ্ছে

Memcached সার্ভার ব্যবহার করতে, আপনাকে একটি ভাষা-নির্দিষ্ট ক্লায়েন্ট ইনস্টল করতে হবে। সৌভাগ্যবশত, Memcached-এর অনেক জনপ্রিয় ভাষার জন্য সমর্থন রয়েছে।

তাহলে চলুন দেখি কিভাবে ইন্সটল করতে হয় php এবং অজগর Memcached জন্য ক্লায়েন্ট.

পিএইচপি হল সর্বাধিক জনপ্রিয় সার্ভার-সাইড স্ক্রিপ্টিং ভাষা এবং মেমক্যাচেড বেশিরভাগই পিএইচপি দ্বারা চালিত ওয়েব অ্যাপগুলির সার্ভার কার্যকারিতা উন্নত করতে ওয়েব ডেভেলপারদের দ্বারা ব্যবহৃত হয়।

পিএইচপিতে মেমক্যাশেড সমর্থন ইনস্টল করতে, চালান:

sudo apt php-memcached ইনস্টল করুন

পাইথনেরও বেশ কয়েকটি লাইব্রেরি রয়েছে যা মেমক্যাচেড সার্ভারের সাথে কাজ করতে এবং ইন্টারঅ্যাক্ট করতে পারে যেমন pymemcached বা python-memcached.

আপনি নিম্নলিখিত পিপ কমান্ডগুলি চালিয়ে পাইথনের জন্য মেমক্যাশেড ইনস্টল করতে পারেন:

পিপ ইনস্টল pymemcache
পাইপ ইনস্টল পাইথন-মেমক্যাচেড

উপসংহারে, আমরা উবুন্টু 20.04-এ Memcached-এর ইনস্টলেশন, কনফিগারেশন এবং কয়েকটি ভাষা-নির্দিষ্ট ক্লায়েন্ট দেখেছি।

Memcached-এর আরও সূক্ষ্ম এবং উন্নত ব্যবহার জানতে, Memcached Wiki-এ একবার দেখুন।