در این مقاله نحوه نصب سرور memcached روی RHEL 6.3/6.2/6.1/6/5.8/5.6, CentOS 6.3/6.2/6.1/6/5.8/5.6 و Fedora 17,16,15,14,13,12 با استفاده از YUM را آموزش خواهیم داد. به صورت پیش فرض برنامه memcached روی linux در دسترس نیست و باید ریپازیتوری EPEL نصب و فعال گردد.
repository EPEL توسط پروژه fedora فراهم گردیده و شامل پکیج های up-to-date برای سیستم عامل های redhat,centos و fedora میباشد.
قبل از مراحل نصب مروری داشته باشیم بر لینک memcached چیست و به چه هدفی استفاده میشود.
memcached چیست ؟
memcached یک برنامه مخصوص caching برای memory object بوده و opensource میباشد که به ما اجازه میدهد performance اپلیکیشن های تحت وب داینامیک را با استفاده از cache دیتا و object ها در مموری بهبود و سرعت بخشد. همچنین این نرم افزار برای کش تمامی جدول ها و کوئری های دیتابیس مورد استفاده قرار میگیرد به طوری که performance دیتابیس افزایش میابد.
این نرم افزار تنها سیستم caching موجود میباشد که رایگان بوده و توسط سایت های بزرگی مانند یوتیوب، فیس بوک، توییتر و ... استفاده میشود.
فعال کردن repository EPEL تحت Redhat و Centos :
سریعترین و ساده ترین راه برای نصب و فعال کردن ریپازیتوری EPEL استفاده از yum میباشد.ابتدا پکیج RPM که با معماری سیستم عامل شما منطبق باشد را از لینک های مربوطه دانلود و نصب کنید.
ریپازیتوری epel تمامی پکیج های مورد نیاز برای نصب برنامه memcached را نصب خواهد کرد.
توجه :
فدورا نیاز به ریپازیتوری EPEL ندارد زیرا بخشی از پروژه فدورا هست.
در Redhat/Centos 6 32bit :
در Redhat/Centos 6 64bit :
در Redhat/Centos5 32bit :
در Redhat/Centos 5 64bit :
نصب memcached :
نصب برنامه memcached با استفاده از ابزار yum که توسط کامند زیر صورت میگیرد :
نمونه خروجی کامند :
کانفیگ memcached :
فایل /etc/sysconfig/memcached با استفاده از ادیتور vi باز کنید :
پارامترها را همانند زیر تنظیم و یا تغییر دهید، سپس فایل را ذخیره و خارج شوید :
در اینجا در مورد جزییات پارامترهای بالا توضیحاتی میدهیم :
PORT :
پورت مورد استفاده برای راه اندازی memcached
USER :
یوزر start-up برای سرویس memcached
MAXCONN :
مقداری که برای تعریف کردن تعداد maximum ارتباط همزمان مورد استفاده قرار میگیرد که 1024 تعریف میکنیم. برای سرورهای وب busy شما میتوانید این مقدار را با توجه به تجهیزات خود به هر عددی افزایش دهید.
CACHESIZE :
تعریف سایز cache مموری که ما آن را 2048 تعریف کردیم. برای سرورهای busy شما میتوانید این عدد را تا 4 GB افزایش دهید.
OPTION :
تعریف ip address سرور به طوری که آپاچی یا سرورهای وب Nginx بتوانند به آن متصل شوند.
Start Memcached :
دستورات زیر را برای start و restart همچنین stop و چک کردن وضعیت برنامه memcached مورد استفاده قرار میگیرد :
بررسی Memcached :
برای بررسی memcached که روی سیستم اجرا شده است از دستور netstat استفاده میکنیم :
چک کردن وضعیت سرور با استفاده از memcached-tool :
نصب Memcached PHP extension :
اکنون php extension را برای کار با سرویس memcached نصب میکنیم :
نصب memcached Perl Library :
برای نصب کتابخانه Perl مربوط به memcached دستور زیر را اجرا میکنیم :
نصب Memcached Python Library :
برای نصب کتابخانه Python مربوط به memcached دستور زیر را اجرا میکنیم :
Restart کردن سرویس Apache :
برای اعمال تغییرات سرویس آپاچی را ریستارت میکنیم :
کانفیگ Firewall به منظور امن کردن سرور Memcached :
ابتدا مطمین شوید که تنها شما به سرور memcached دسترسی دارید، برای فعال کردن دسترسی به سرورهای خودتان فایل زیر را باز کنید :
iptables rules های زیر را به فایل اضافه کنید تا دسترسی به سرورهای خودتان را مجاز کنید :
با دستورات زیر سرویس iptables را restart میکنیم تا تغییرات اعمال شوند :
Cache کردن Query های MySQL با استفاده از memcached :
این کار برای هر فردی کار آسانی نیست شما نیاز دارید که برای تغییر کدهای php خود از api ها استفاده کنید تا بتوانید cache مای اسکیول را فعال کنید.
شما میتوانید چند مثال از این کدها را در این لینک پیدا کنید. [Memcache with MySQL]
فعال کردن Memcached در سایت های wordPress :
برای سایت هایی که با وردپرس طراحی شده اند پلاگینی به نام Memcached Object Cache موجود است که شما باید آن را روی CMS وردپرس خودتان نصب کنید.
repository EPEL توسط پروژه fedora فراهم گردیده و شامل پکیج های up-to-date برای سیستم عامل های redhat,centos و fedora میباشد.
قبل از مراحل نصب مروری داشته باشیم بر لینک memcached چیست و به چه هدفی استفاده میشود.
memcached چیست ؟
memcached یک برنامه مخصوص caching برای memory object بوده و opensource میباشد که به ما اجازه میدهد performance اپلیکیشن های تحت وب داینامیک را با استفاده از cache دیتا و object ها در مموری بهبود و سرعت بخشد. همچنین این نرم افزار برای کش تمامی جدول ها و کوئری های دیتابیس مورد استفاده قرار میگیرد به طوری که performance دیتابیس افزایش میابد.
این نرم افزار تنها سیستم caching موجود میباشد که رایگان بوده و توسط سایت های بزرگی مانند یوتیوب، فیس بوک، توییتر و ... استفاده میشود.
فعال کردن repository EPEL تحت Redhat و Centos :
سریعترین و ساده ترین راه برای نصب و فعال کردن ریپازیتوری EPEL استفاده از yum میباشد.ابتدا پکیج RPM که با معماری سیستم عامل شما منطبق باشد را از لینک های مربوطه دانلود و نصب کنید.
ریپازیتوری epel تمامی پکیج های مورد نیاز برای نصب برنامه memcached را نصب خواهد کرد.
توجه :
فدورا نیاز به ریپازیتوری EPEL ندارد زیرا بخشی از پروژه فدورا هست.
در Redhat/Centos 6 32bit :
کد PHP:
# wget http://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-7.noarch.rpm
# rpm -Uvh epel-release-6-7.noarch.rpm
در Redhat/Centos 6 64bit :
کد PHP:
# wget http://mirrors.kernel.org/fedora-epel/6/x86_64/epel-release-6-7.noarch.rpm
# rpm -Uvh epel-release-6-7.noarch.rpm
در Redhat/Centos5 32bit :
کد PHP:
# wget http://mirrors.kernel.org/fedora-epel/5/i386/epel-release-5-4.noarch.rpm
# rpm -Uvh epel-release-5-4.noarch.rpm
در Redhat/Centos 5 64bit :
کد PHP:
# 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 :
نصب برنامه memcached با استفاده از ابزار yum که توسط کامند زیر صورت میگیرد :
کد PHP:
# yum install memcached
نمونه خروجی کامند :
کد PHP:
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 با استفاده از ادیتور vi باز کنید :
کد PHP:
# vi /etc/sysconfig/memcached
پارامترها را همانند زیر تنظیم و یا تغییر دهید، سپس فایل را ذخیره و خارج شوید :
کد PHP:
# 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 :
پورت مورد استفاده برای راه اندازی memcached
USER :
یوزر start-up برای سرویس memcached
MAXCONN :
مقداری که برای تعریف کردن تعداد maximum ارتباط همزمان مورد استفاده قرار میگیرد که 1024 تعریف میکنیم. برای سرورهای وب busy شما میتوانید این مقدار را با توجه به تجهیزات خود به هر عددی افزایش دهید.
CACHESIZE :
تعریف سایز cache مموری که ما آن را 2048 تعریف کردیم. برای سرورهای busy شما میتوانید این عدد را تا 4 GB افزایش دهید.
OPTION :
تعریف ip address سرور به طوری که آپاچی یا سرورهای وب Nginx بتوانند به آن متصل شوند.
Start Memcached :
دستورات زیر را برای start و restart همچنین stop و چک کردن وضعیت برنامه memcached مورد استفاده قرار میگیرد :
کد PHP:
# chkconfig --levels 235 memcached on
# /etc/init.d/memcached start
# /etc/init.d/memcached restart
کد PHP:
# /etc/init.d/memcached stop
# /etc/init.d/memcached status
بررسی Memcached :
برای بررسی memcached که روی سیستم اجرا شده است از دستور netstat استفاده میکنیم :
کد PHP:
# 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
چک کردن وضعیت سرور با استفاده از memcached-tool :
کد PHP:
# memcached-tool 127.0.0.1 stats
نصب Memcached PHP extension :
اکنون php extension را برای کار با سرویس memcached نصب میکنیم :
کد PHP:
# yum install php-pecl-memcache
نصب memcached Perl Library :
برای نصب کتابخانه Perl مربوط به memcached دستور زیر را اجرا میکنیم :
کد PHP:
# yum install perl-Cache-Memcached
نصب Memcached Python Library :
برای نصب کتابخانه Python مربوط به memcached دستور زیر را اجرا میکنیم :
کد PHP:
# yum install python-memcached
Restart کردن سرویس Apache :
برای اعمال تغییرات سرویس آپاچی را ریستارت میکنیم :
کد PHP:
# /etc/init.d/httpd restart OR # service httpd restart
کانفیگ Firewall به منظور امن کردن سرور Memcached :
ابتدا مطمین شوید که تنها شما به سرور memcached دسترسی دارید، برای فعال کردن دسترسی به سرورهای خودتان فایل زیر را باز کنید :
کد PHP:
# vi /etc/sysconfig/iptables
کد PHP:
## 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
کد PHP:
# service iptables restart
OR
# /etc/init.d/iptables restart
Cache کردن Query های MySQL با استفاده از memcached :
این کار برای هر فردی کار آسانی نیست شما نیاز دارید که برای تغییر کدهای php خود از api ها استفاده کنید تا بتوانید cache مای اسکیول را فعال کنید.
شما میتوانید چند مثال از این کدها را در این لینک پیدا کنید. [Memcache with MySQL]
فعال کردن Memcached در سایت های wordPress :
برای سایت هایی که با وردپرس طراحی شده اند پلاگینی به نام Memcached Object Cache موجود است که شما باید آن را روی CMS وردپرس خودتان نصب کنید.