Memcached، یک سیستم ذخیره‌سازی داده‌های کلیدی بصورت رایگان، منبع باز، با کارایی بالا است. به طور معمول، این سیستم به عنوان یک سیستم caching به منظور سرعت بخشیدن به برنامه‌ها از طریق ذخیره‌سازی انواع اشیاء از نتایج ارتباط با پایگاه داده مورد استفاده قرار می‌گیرد.

 

در این مقاله، چگونگی نصب و پیکربندی Memcached در CentOS 8 شرح داده شده است.

 

نصب Memcached در CentOS

بسته‌های Memcached در مخازن پیش فرض CentOS 8 وجود دارد. بنابراین نصب آن بسیار آسان است. بدین معنی که کافیست دستور زیر را به عنوان root یا کاربر با امتیاز sudo وارد کنید:

sudo dnf install memcached libmemcached

بسته libmemcached چندین ابزار خط فرمان، برای مدیریت سرور Memcached فراهم می‌کند.

پس از اتمام نصب، سرویس Memcached را با وارد کردن دستور زیر، فعال کرده و راه‌اندازی نمایید:

sudo systemctl enable memcached --now

 

برای تأیید اینکه memcached در حال اجرا است، دستور زیر را تایپ کنید:

sudo systemctl status memcached

خروجی باید چیزی شبیه به این باشد:

Output:
● memcached.service - memcached daemon
   Loaded: loaded (/usr/lib/systemd/system/memcached.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-04-13 20:12:52 UTC; 2s ago
   ...

اکنون Memcached، بر روی سرور CentOS 8 شما نصب شده است و می‌توانید از آن استفاده نمایید.

 

پیکربندی Memcached

گزینه‌های Memcached را می‌توان در فایل /etc/sysconfig/memcached پیکربندی کرد. به طور پیش فرض، Memcached بگونه‌ای تنظیم شده است که تنها برروی localhost شنود کند.

دقت کنید که چنانچه برای شما، کلاینت متصل به سرور در همان سیستم سرور اجرا می‌شود، نباید در این بخش تغییری ایجاد کنید.

 

دسترسی از راه دور

چنانچه برنامه‌ای که به Memcached متصل می‌شود، در یک سرور ریموت یکسان قرار دارد، باید فایروال خود را پیکربندی کرده و اجازه دسترسی به پورت 11211 مربوط به Memcached را تنها از طریق آدرس IP کلاینت فراهم نمایید.

دقت کنید که در صورت پیکربندی نامناسب، Memcached می‌تواند به منظور انجام حمله DDoS استفاده شود.

مثال زیر فرض می‌کند که شما می‌خواهید، از طریق یک شبکه خصوصی به سرور Memcached متصل شوید. IP سرور Memcached برابر است با 192.168.100.20 و آدرس IP کلاینت برابر با 192.168.100.30 است.

اولین مرحله، ویرایش پیکربندی Memcached و تنظیم سرویس برای شنود برروی رابط شبکه خصوصی سرور است:

بدین منظور، فایل پیکربندی memcached را باز کنید:

sudo nano /etc/sysconfig/memcached

 

در پارامتر OPTIONS، آدرس IP سرور 192.168.100.20 را به صورت زیر اضافه نمایید. این خط، به Memcached دستور می‌دهد که تنها به رابط مشخص شده متصل شود.

              /etc/sysconfig/memcached

OPTIONS="-l 192.168.100.20"

فایل را ذخیره کرده و سرویس Memcached را مجدداً راه‌اندازی نمایید تا تغییرات اعمال شود:

sudo systemctl restart memcached

پس از پیکربندی سرویس، مرحله بعدی باز کردن پورت memcached در فایروال شماست.

CentOS، با یک ابزار پیکربندی فایروال FirewallD همراه است. دستورات زیر، یک zone جدید به نام memcached ایجاد می‌کند، پورت 11211 را باز می‌نماید و تنها از طریق آدرس IP کلاینت اجازه دسترسی می‌دهد.

sudo firewall-cmd --new-zone=memcached --permanent
sudo firewall-cmd --zone=memcached --add-port=11211/udp --permanent
sudo firewall-cmd --zone=memcached --add-port=11211/tcp --permanent
sudo firewall-cmd --zone=memcached --add-source=192.168.100.30/32 --permanent
sudo firewall-cmd --reload

 

اتصال به Memcached

به منظور اتصال به سرور Memcached باید از یک کلاینت با زبان معین استفاده کنید.

 

PHP

برای استفاده از Memcached به عنوان یک سیستم ذخیره‌سازی پایگاه داده برای برنامه PHP خود مانند WordPress ،Drupal یا Magento، باید بسته php-pecl-memcached را نصب نمایید:

sudo dnf install php-pecl-memcache

 

Python

چندین کتابخانه پایتون برای تعامل با memcached وجود دارد. با استفاده از pip می‌توانید کتابخانه مورد نظر خود را نصب کنید:

pip install pymemcache
pip install python-memcached

 

 

 

منبع:

linuxize