شما برای مطالعه این مقاله فقط 6 دقیقه وقت نیاز دارید

install-memchached-on-linux

نصب و پیکربندی Memcached در لینوکس اوبونتو و centos

اگر قصد پیاده سازی یک وب اپلیکیشن قدرتمند دارید و سرعت آن از اولویت های شماست، نصب و پیکربندی Memcached در لینوکس از بهترین ایده هایی است که می تواند شما را به هدفتان برساند.

Memcached یک سرویس کش حافظه است که به کمک آن می توانید داده ها و اشیا پرکاربرد را در حافظه رم ذخیره کنید. این کار باعث کاهش بار پایگاه داده و فرکانس خواندن داده ها از منابع خارجی مثل پایگاه داده ها یا API ها و در نتیجه، ارتقا سرعت اپلیکیشن های داینامیک می شود.

با خرید سرور مجازی لینوکس هم می توانید یک زیرساخت قوی برای اپلیکشن خود تهیه کنید تا به خوبی از عهده مدیریت سرویس های مکملی مثل Memcached بربیاید.

پیش نیازهای نصب Memcached در لینوکس

  • سیستم اوبونتو نسخه 18.4 به بعد یا centos نسخه 5 به بعد
  • دسترسی به ترمینال
  • برخورداری از امتیازات روت یا sudo
  • php و آپاچی برای اپلیکیشن مبتنی بر php
  • python برای اپلیکیشن مبتنی بر پایتون

مراحل نصب Memcached در لینوکس

با اجرای ترتیبی مراحل زیر می توانید سیستم Memcached را در سیستم لینوکس خود نصب کنید:

۱. پکیج های سیستمی را آپدیت کنید.

برای نصب Memcached در لینوکس، ابتدا باید مخازن سیستم را آپدیت کنید:

اوبونتو

sudo apt-get update

Centos

sudo yum update

۲. Memcached را نصب کنید.

برای نصب Memcached می توانید از دستور زیر استفاده کنید:

نصب Memcached در اوبونتو

sudo apt-get install memcached

نصب Memcached در CentOS

sudo yum install memcached

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

۳. Ibmemcached را نصب کنید.

Ibmemcached یک ابزار خط فرمان مخصوص مدیریت سیستم Memcached است. اگر می خواهید به جای ترمینال لینوکس، از این ابزار برای کار کردن Memcached استفاده کنید، حتماً باید ابتدا آن را نصب کنید:

اوبونتو

sudo apt install libmemcached-tools

Centos

sudo yum install libmemcached

۴. وضعیت نصب Memcached را بررسی کنید.

اکنون که ابزار Memcached و تمام وابستگی های آن را نصب کرده اید، وقت آن است که ورژن و وضعیت این سرویس را بررسی کنید.

برای مشاهده نسخه نصب شده Memcached می توانید از دستور زیر استفاده کنید:

memcached --version

حالا وقت آن است که وضعیت اجرای آن را هم بررسی کنید:

sudo systemctl status memcached

بررسی وضعیتmemhached

با دیدن پیام سبز active می توانید مطمئن باشید که پروسه نصب Memcached را با موفقیت پشت سرگذاشته اید و الان نوبت پیکربندی سیستم Memcached در لینوکس است.

پیکربندی Memcached در لینوکس

نحوه پیکربندی memcached در لینوکس به نیازها و مشخصات اپلیکیشن شما بستگی دارد. ما در حد امکان سعی می کنیم پیکربندی های ضروری و پرکاربرد را در این بخش پوشش دهیم.

* بعد از ایجاد هر گونه تغییر کوچک و بزرگ در Memcached، ریستارت سرویس مربوط به آن را فراموش نکنید. این کار برای ثبت و اعمال تغییرات ضروری است:

sudo systemctl restart memcached

فعال سازی سرویس Memcached در سیستم لینوکس

اگر می خواهید با هر بار ریبوت سیستم، سرویس Memcached هم به صورت خودکار اجرا شود، دستور زیر را اجرا کنید:

sudo systemctl enable memcached.service

تغییر آدرس آی پی

اگر دستور بررسی وضعیت را اجرا کنید، با خروجی زیر مواجه خواهید شد:تغییر آدرس آی پی برای پیکربندی memcached در لینوکس

می بینید که سیستم Memcached به طور پیش فرض روی لوکال هاست تنظیم شده است و به پورت 11211 گوش می دهد. 

اگر اپلیکیشن php یا python شما روی یک سرور ریموت نصب شده است و شما می خواهید سرویس Memcached را برای آن راه اندازی کنید، باید آدرس آی پی سرور ریموت را جایگزین لوکال هاست کنید. 

پس، فایل پیکربندی Memcached را باز کنید:

sudo nano /etc/memcached.conf

خط l 127.0.0.1- را پیدا کنید و 127.0.0.1 را با آدرس آیپی سرور ریموت جایگزین کنید.

با استفاده از کلید ترکیبی Ctrl+O و Ctrl+X فایل پیکربندی را ذخیره کرده و ببندید.

ارائه مجوز انتقال ترافیک Memcached

برای این کار باید قانون allow مربوط به ترافیک Memcached را در فایروال سیستم تعریف کنید. 

اگر به استفاده از لوکال هاست ادامه می دهید، دستور زیر را اجرا کنید:

sudo ufw allow 11211

ولی اگر آدرس آی پی سرور را جایگزین لوکال هاست کرده اید، دستور زیر را اجرا کنید:

sudo ufw allow from address-ip to any port 11211

افزایش فضای رم اختصاصی برای Memcached

سیستم Memcached به طور پیش فرض از ۶۴ مگابایت حافظه بهره مند است ولی اگر می خواهید فضای بیشتری از رم (مثلاً ۲۵۶ مگابایت) را به آن اختصاص دهید، مراحل زیر را طی کنید:

کلیک کنید  آموزش مجوزهای دسترسی فایل در لینوکس

برای تغییر فضای رم لازم برای Memcached، ابتدا باید فایل پیکربندی را باز کنید:

sudo nano /etc/memcached.conf

خط m- را پیدا کنید و آن را به صورت زیر تغییر دهید:

-m 256

فعال سازی Memcached برای اپلیکیشن های PHP

اگر می خواهید از این سیستم کش برای اپلیکیشن های مبتنی بر php مثل وردپرس، Magento استفاده کنید، ابتدا باید پکیج های لازم برای آن را نصب کنید:

* از نصب php و آپاچی در سرور لینوکس خود مطمئن شوید.

اوبونتو

sudo apt install php-memcached libapache2-mod-php php php-cli

Centos

sudo yum install php-memcached libapache2-mod-php php php-cli

تست کارکرد Memcached برای php

برای اینکه مطمئن شوید، اتصال سیستم Memcached به اپلیکیشن php با موفقیت انجام شده است، می توانید مراحل زیر را طی کنید:

در مسیر اصلی وبسایت یا وب اپلیکیشن خود یک فایل به اسم php.info ایجاد کنید:

sudo nano /var/www/html/phpinfo.php

کد زیر را در داخل آن کپی-پیست کنید:

<?php

phpinfo();

?>

با استفاده از کلید ترکیبی Ctrl+O و Ctrl+X این فایل را ذخیره کرده و ببندید.

مرورگر خود را باز کنید و به آدرس زیر بروید:

http://server-ip-address/phpinfo.php

این آدرس، اطلاعات php را به شما نشان می دهد. 

اگر به سمت پایین اسکرول کنید، می توانید اطلاعات مربوط به Memcached را پیدا کنید. این اطلاعات نشان می دهند که افزونه php-memcached فعال است و برای php کار می کند.

اطلاعات مربوط به memcached در فایل php.info

فعال سازی Memcached برای اپلیکیشن های پایتون

اگر در زمینه توسعه اپلیکیشن های پایتون فعالیت می کنید و می خواهید از سیستم Memcached برای ارتقا سرعت و عملکرد آنها استفاده کنید، باید کتابخانه های مربوط به آن را نصب کنید. 

* از نصب پایتون در سرور لینوکس مطمئن شوید.

برای نصب این کتابخانه ها می توانید از مدیر بسته پایتون یعنی pip استفاده کنید:

pip install pymemcache
pip install python-memcached

تست عملکرد سیستم کش Memcached

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

برای این کار، ابتدا در مسیر اصلی وبسایت یا اپلیکیشن یک فایل تحت عنوان Test.php ایجاد کنید:

sudo nano /var/www/html/test.php

سپس تکه کد php زیر را در آن کپی – پیست کنید:

<?php
try
{
$memcached = new Memcached();
$memcached->addServer("127.0.0.1", 11211); 
$response = $memcached->get("key_cache");
if($response==true) 
{
echo "Result coming from caching";
echo $response;
}
else
{
echo "Cache is not created yet, reload again to see changes";
$memcached->set("key_cache", "Hooray! Memcache is working now ...") ;
}
}
catch (exception $e)
{
echo $e->getMessage();
}
?>

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

خط memcached->get(“key_cache”)$ برای بازیابی مقدار مربوط به key_cache استفاده می شود.

اگر پاسخ مربوط به key_cache دارای مقدار true باشد، خروجی Result coming from caching همراه با مقدار key_cache نمایش داده می شود که نشان می دهد مقداری با کلید key_cache در حافظه Memcached وجود دارد.

در غیر این صورت، مقداری با کلید key_cache در Memcached وجود ندارد و پیام Cache is not created yet, reload again to see change ظاهر می شود.عدم وجود مقدار برای key-cache

سپس، خط memcached->set$ برای ذخیره سازی کلید key_cache با مقدار Hooray! Memcache is working now اجرا می شود. اگر صفحه را رفرش کنید، این بار با پیام زیر مواجه خواهید شد.خروجی فایل phpinfo برای کد تست memcached

 

با مراجعه به http://your-server-ip-address/test.php میتوانید خروجی این کد را بررسی کنید.

سخن آخر

سیستم Memcached برای ذخیره سازی داده ها در بخشی از رم استفاده می شود تا سرعت دسترسی به آنها بالاتر باشد و اپلیکیشن در ارائه داده ها، عملکرد سریع تری داشته باشید. با اجرای مراحل نصب و پیکربندی Memcached در لینوکس اوبونتو و centos می توانید بلافاصله شروع به استفاده از آن در اپلکیشن های خود کنید.

مطالب مشابهی که شاید علاقمند باشید

من زهرا پیرجانی دانشجوی رشته نرم افزار هستم. علاقه ای که به یادگیری مطالب جدید دارم باعث شد که انگیزم برای فعالیت در حوزه تولیدمحتوا بیشتر شود. تمام تلاشم این است که با درک کامل موضوع، محتوایی ساده و کامل تهیه کنم که برای همه علاقمندان مفید و کاربردی باشد. یادگیری مطالب جدید و آموزش اونها به بقیه، بهترین کاری هست که می توانم برای رشد خودم و همچنین کمک به رشد علاقمندان به مباحث مورنظر انجام بدم.

دیدگاه های شما

برای دریافت این مقاله لطفا ایمیلتان را وارد کنید

می توانید مقاله را دانلود کنید یا پرینت بگیرید