راهنمای نصب و پیکربندی Memcached در لینوکس (اوبونتو و AlmaLinux)
Memcached یک سیستم کش (Caching) بسیار سریع، رایگان و متنباز است که برای افزایش چشمگیر سرعت اپلیکیشنهای وب طراحی شده است. این ابزار با ذخیره کردن دادههای پرکاربرد (مانند نتایج کوئریهای دیتابیس یا آبجکتها) در حافظه RAM سرور، تعداد دفعاتی که اپلیکیشن شما نیاز به مراجعه به دیتابیس دارد را به شدت کاهش میدهد. این فرآیند باعث کاهش بار پردازشی سرور و افزایش چشمگیر سرعت پاسخگویی به کاربران میشود.
این راهنما به شما روش کامل نصب و پیکربندی Memcached را روی توزیعهای محبوب لینوکس آموزش میدهد. برای پیادهسازی یک سیستم کش کارآمد، خرید سرور مجازی با حافظه RAM کافی، یک پیشنیاز کلیدی است.
بخش اول: نصب Memcached در اوبونتو و دبیان
قدم ۱: نصب پکیجها
بسته Memcached و ابزارهای خط فرمان آن در مخازن پیشفرض اوبونتو موجود هستند.
sudo apt update
sudo apt install memcached libmemcached-tools -y
پس از نصب، سرویس Memcached به صورت خودکار اجرا میشود. با دستور زیر میتوانید وضعیت آن را بررسی کنید:
sudo systemctl status memcached
قدم ۲: پیکربندی امنیتی
به صورت پیشفرض، Memcached طوری تنظیم شده که فقط به اتصالات از داخل خود سرور (localhost) گوش دهد. این امنترین حالت است و برای اکثر کاربردها (مانند کش وردپرس) کافی است. برای اطمینان، فایل پیکربندی را باز کنید:
sudo nano /etc/memcached.conf
و مطمئن شوید که خط -l 127.0.0.1
در آن وجود دارد و از حالت کامنت خارج است.
بخش دوم: نصب Memcached در AlmaLinux و Rocky Linux
قدم ۱: نصب پکیجها
در توزیعهای مبتنی بر RHEL، پکیجها با استفاده از `dnf` نصب میشوند.
sudo dnf install memcached libmemcached -y
قدم ۲: شروع و فعالسازی سرویس
پس از نصب، سرویس را فعال و راهاندازی کنید:
sudo systemctl start memcached
sudo systemctl enable memcached
قدم ۳: پیکربندی امنیتی و تنظیمات
فایل پیکربندی در این توزیعها در مسیر /etc/sysconfig/memcached
قرار دارد.
sudo nano /etc/sysconfig/memcached
در این فایل میتوانید پارامترهای کلیدی را تنظیم کنید:
- PORT: پورت پیشفرض (11211).
- USER: کاربری که سرویس با آن اجرا میشود (memcached).
- MAXCONN: حداکثر تعداد اتصالات همزمان.
- CACHESIZE: مهمترین پارامتر؛ حجم حافظه RAM (به مگابایت) که میخواهید به Memcached اختصاص دهید.
- OPTIONS: برای تنظیمات اضافی. برای محدود کردن دسترسی به localhost، این مقدار را به
"-l 127.0.0.1"
تغییر دهید.
پس از هر تغییر، سرویس را با sudo systemctl restart memcached
ریاستارت کنید.
بخش سوم: اتصال اپلیکیشنها به Memcached
برای اینکه اپلیکیشن شما بتواند از Memcached استفاده کند، باید کتابخانه یا افزونه مربوطه را نصب کنید.
۱. برای اپلیکیشنهای PHP (مانند وردپرس، دروپال، مجنتو)
شما نیاز به نصب افزونه php-memcached
دارید. نام این پکیج بسته به نسخه PHP شما متفاوت است. برای مثال، برای PHP 8.2:
# در اوبونتو/دبیان
sudo apt install php8.2-memcached
# در AlmaLinux/Rocky (از ریپازیتوری Remi)
sudo dnf install php82-php-pecl-memcached
پس از نصب، وبسرور خود را ریاستارت کنید.
۲. برای اپلیکیشنهای Python
چندین کتابخانه محبوب برای پایتون وجود دارد که میتوانید با `pip` نصب کنید:
pip install pymemcache
# یا
pip install python-memcached
عیبیابی و دسترسی ریموت (Remote Access)
هشدار امنیتی: هرگز پورت Memcached را به صورت عمومی روی اینترنت باز نگذارید، زیرا این پروتکل هیچگونه احراز هویتی ندارد و میتواند برای حملات DDoS مورد سوءاستفاده قرار گیرد.
اگر اپلیکیشن شما روی سرور دیگری قرار دارد، باید دسترسی به پورت 11211 را در فایروال، فقط برای آدرس IP سرور اپلیکیشن خود باز کنید.
# مثال برای فایروال UFW در اوبونتو
sudo ufw allow from YOUR_APP_SERVER_IP to any port 11211
سپس در فایل کانفیگ Memcached، مقدار -l 127.0.0.1
را به آدرس IP داخلی (Private IP) سرور دیتابیس خود تغییر دهید. برای میزبانی این نوع زیرساختها، خرید vps با قابلیت شبکه خصوصی یک انتخاب مناسب است.
فهرست تیترها