Memcached چیست؟
Memcached یک سیستم کش بسیار قوی و پیشرفته است که اشیاء و کوئری های دیتابیس را در حافظه و رم سرور کش و ذخیره کرده و کمک فراوانی به لود سرور و سریع تر شدن لود وب سایت شما میکند.
(Memchache) برنامه اي است كه برای وبسایت هایی که درخواست زیادی با دیتابیس دارند نصب می شود.
در حال حاضر سایت های بزرگی نظیر ویکی پدیا ، سایت رسمی وردپرس ازین برنامه استفاده می کنند.
توجه: ممكش براي كش كردن دادهها در حالت سرورهاي توزيع شده مناسب است؛ هرچند در يك سرور واحد نيز به كار ميرود؛
اگر سرور توزيع شده نداريد بهتر است از Alternative PHP Cache)APC) استفاده كنيد، چون در اين حالت سرعت بالاتري دارد.گام هاي زير در سيستم عامل لينوكس نسخه CentOS كاملا تست شده و جواب داده است.
فعال کردن مرجع epel :
For RHEL/CentOS 6 ( 32-Bit )
# wget http://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-7.noarch.rpm # rpm -Uvh epel-release-6-7.noarch.rpm
For RHEL/CentOS 6 ( 64-Bit )
# wget http://mirrors.kernel.org/fedora-epel/6/x86_64/epel-release-6-7.noarch.rpm # rpm -Uvh epel-release-6-7.noarch.rpm
For RHEL/CentOS 5 ( 32-Bit )
# wget http://mirrors.kernel.org/fedora-epel/5/i386/epel-release-5-4.noarch.rpm # rpm -Uvh epel-release-5-4.noarch.rpm
For RHEL/CentOS 5 ( 64-Bit )
# wget http://mirrors.kernel.org/fedora-epel/5/x86_64/epel-release-5-4.noarch.rpm # rpm -Uvh epel-release-5-4.noarch.rpm
نصب Memcached :
# yum install memcached
نمونه خروجی دستور بالا:
Loaded plugins: fastestmirror Determining fastest mirrors epel: kartolo.sby.datautama.net.id Dependencies Resolved ===================================================================================================== Package Arch Version Repository Size ===================================================================================================== Installing: memcached i386 1.4.5-1.el5 epel 71 k Transaction Summary ===================================================================================================== Install 1 Package(s) Upgrade 0 Package(s) Total download size: 71 k Is this ok [y/N]: y Downloading Packages: memcached-1.4.5-1.el5.i386.rpm | 71 kB 00:00 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : memcached 1/1 Installed: memcached.i386 0:1.4.5-1.el5 Complete!
تنظیمات Memcached
باز کردن فایل کانفیگ:
/etc/sysconfig/memcached
با دستور:
# nano /etc/sysconfig/memcached OR # vi /etc/sysconfig/memcached
تنظیمات زیر را در فایل انجام دهید و ذخیره نمایید:
# Running on Port 11211 PORT="11211" # Start as memcached daemon USER="memcached" # Set max simultaneous connections to 1024 MAXCONN="1024" # Set Memory size to 2048 - 4GB(4096) CACHESIZE="2048" #Set server IP address OPTIONS="-l 127.0.0.1"
توضیحات آیتم ها:
PORT : پورت های استفاده شده توسط ممکشد.
USER : راه اندازی برای خدمات ممکشد.
MAXCONN : تنظیم اتصالات به طور همزمان، برای وب سرور و سایت پربازدید شما می توانید به هر تعداد بر اساس نیازهای خود افزایش دهید.
CACHESIZE : اندازه حافظه پنهان، برای سرورهای پربازدید شما می توانید تا 4GB افزایش دهید.
OPTIONS : تنظیم آدرس IP سرور، به طوری که وب سرور آپاچی یا Nginx باشد می توانید به آن وصل کنید.
دستور استارت کردن Memcached :
# chkconfig --levels 235 memcached on # /etc/init.d/memcached start # /etc/init.d/memcached restart
دستور متوقف کردن و بررسی وضعیت :
# /etc/init.d/memcached stop # /etc/init.d/memcached status
بررسی Memcached :
# netstat -tulpn | grep :11211 tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 20775/memcached udp 0 0 127.0.0.1:11211 0.0.0.0:* 20775/memcached
بررسی کامل آمار Memcached :
# memcached-tool 127.0.0.1 stats
نصب Memcached بر روی PHP :
# yum install php-pecl-memcache
نصب کتابخانه Perl برای Memcached :
# yum install perl-Cache-Memcached
نصب کتابخانه پایتون برای Memcached :
# yum install python-memcached
راه اندازی مجدد آپاچی برای مشاهده تغییرات:
# /etc/init.d/httpd restart OR # service httpd restart
پیکربندی فایروال برای تامین امنیت سرور Memcached :
باز کردن فایل در مسیر:
/etc/sysconfig/iptables
با دستور:
# nano /etc/sysconfig/iptables
و مطمئن شوید که فقط دسترسی به سرور حافظه موقت داشته باشد!
## Enable access on IP ranges from 172.16.1.1 to 172.16.1.10 for Port 11211 ## # iptables -A INPUT -p tcp --destination-port 11211 -m state --state NEW -m iprange --src-range 172.16.1.1-172.16.1.10 -j ACCEPT # iptables -A INPUT -p udp --destination-port 11211 -m state --state NEW -m iprange --src-range 172.16.1.1-172.16.1.10 -j ACCEPT
راه اندازی مجدد سرویس iptables برا اعمال تغییرات:
# service iptables restart OR # /etc/init.d/iptables restart
تبریک! شما Memcached را در سرور خود به صورت کامل و استاندارد نصب و راه اندازی کردید.
آموزش نصب Memcached در CentOS نیز به پایان رسید.