آموزش نصب Memcached در CentOS 8
Memcached یک data store با عملکرد بالا و in-memory key-value است. به طور معمول ، از آن به عنوان یک سیستم کش برای سرعت بخشیدن به objects های مختلف هست، بصورتیکه با استفاده از Memcached تعداد دفعات دسترسی به پایگاه داده شما کم میشه و سرعت پاسخگویی به درخواست های دیتابیس بالا میره . این مقاله نحوه نصب و پیکربندی Memcached در CentOS 8 را نشان می دهد.
نصب Memcached در CentOS 8
بسته های Memcached در مخازن پیش فرض CentOS 8 قرار دارند.، دستور زیر را به عنوان root برای نصب وارد کنید:
sudo dnf install memcached libmemcached
بسته libmemcached چندین ابزار خط فرمان برای مدیریت Memcached ارائه می دهد. پس از اتمام نصب ، سرویس Memcached را با تایپ کردن فعال کنید و start کنید.
sudo systemctl enable memcached --now
برای بررسی اجرا دستور زیر را اجرا کنین
sudo systemctl status memcached
خروجی باید به شکل زیر باشه
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
تنظیمات Memcached را میتوان در فایل /etc/sysconfig/memcached
پیکربندی کرد. به طور پیش فرض ، Memcached قرار است فقط در localhost کار کنه. اگر client متصل به سرور نیز در همان هاست در حال اجرا است ، شما نباید هیچ تغییری ایجاد کنید، چون نیاز به تنظیمات برای اتصال از راه دور به سرور دیگه ندارین.
ولی اگر برنامه ای که به Memcached متصل خواهد شد بر روی سرور دیگه ای و بصورت remote میزبانی میشود ، باید فایروال را پیکربندی کنید و اجازه دسترسی به پورت Memcached 11211 را فقط از آدرس IP client دریافت کنید.
در صورت پیکربندی نامناسب Memcached احتمال حمله دیداس (DDoS) از سرور شما بسیار بالا هست.
در مثال زیر فرض می کند که می خواهید از طریق شبکه private به سرور Memcached متصل شوید. IP سرور Memcached 192.168.100.20 است و آدرس IP client 192.168.100.30 است. اولین قدم ویرایش فایل پیکربندی Memcached و تنظیم سرویس برای گوش دادن به IP شبکه خصوصی سرور است، فایل تنظیمات memcached
رو باز کنین.
sudo nano /etc/sysconfig/memcached
در پارامتر OPTIONS
، آدرس IP سرور رو بصورت -l 192.168.100.20
اضافه کنید. این دستورالعمل Memcached را فقط به IP مشخص شده متصل می کند.
OPTIONS="-l 192.168.100.20"
فایل را ذخیره کنید و سرویس Memcached را دوباره راه اندازی کنید تا تغییرات اعمال شوند:
sudo systemctl restart memcached
پس از انجام تنظیمات سرویس ، مرحله بعدی باز کردن پورت memcached در فایروال شما است. CentOS بصورت پیش فرض از FirewallD استفاده میکنه. دستورات زیر rules جدیدی به نام 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 epel-release -y
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
sudo dnf module reset php
sudo dnf module enable php:remi-7.4 -y
sudo dnf install php-pecl-memcached php-pecl-memcache -y
آموزش نصب Memcached در CentOS 8
Python
چندین کتابخانه پایتون برای تعامل با memcached وجود دارد. می توانید کتابخانه مورد نظر خود را با استفاده از pip نصب کنید:
pip install pymemcache
pip install python-memcached
پیکربندی Memcached در در CentOS 8
در این قسمت میتونیم کانفیگ حرفه ای تری برای تغییر پورت ، تعدا کانکشن ها ، میزان استفاده از رم رو انجام بدیم ، همونطور که در قسمت های بالا توضیح دادیم باید فایل تنظیمات /etc/sysconfig/memcached
رو باز کنین و مقادیر پارامتر های زیر رو اضافه کنین. در قسمت port ، میتونین پورت پیش فرض 11211 رو عوض کنین که در اینجا 1247 قرار دادیم ، اجرای یوزر memcached به عنوان USER ، حداکثر تعدا کانکشن که 2500 قرار داده شده و حداکثر میزان کش کردن در رم که 4 گیگ در نظر گرفته شده.
PORT=”1247″ USER=”memcached” MAXCONN=”2500″ CACHESIZE=”4096″ OPTIONS="-l 127.0.0.1 -U 0"