Memcached Kurulumu

Makalenin Orjinaline aşağıdaki link’ten ulaşabilirsiniz. Kodları değiştirmeden kopyala-yapıştır ile uyguladığımda bir sıkıntı kurmadan Centos 6 (64bit) serverıma kurmayı başardım;

http://www.ilhamdeneri.com/linux/memcached-kurulumu/

öncelikle memcache nedir sorusuna ufak bi yanıt verelim.
Adındanda açıkça anlaşılacağı üzere bir cachleme modülüdür.
danga.com tarafından üretilmiş ve en büyük destekçisi olarak facebook gösterilmektedir.
vbulletin tarzı forumlarda faydalı olduğu söylenmektedir ki vbulletininde bunun için conf dosyasında ayrı bir destek alanı bulunmaktadır.
memcache çalışması için server üzerinde 11211 portuna ihtiyaç duymaktadır.
verilerinizi cachelemek için ram belleğinizi kullanmaktadır. dolayısıyla sql sorgularından çok daha hızlı yanıt almanızı sağlar.
memcache ile daha detaylı bilgiye buradan ulaşabilirsiniz.

Gelelim sunucu tarafından memcached desteğini nasıl sağlayacağımıza.
öncelikle memcache çalışması için 3 modüle ihtiyaç duyar.
1- libevent
2- memcached
3- memcache

daha fazla uzatmadan kurulum ayrıntılarına giriyorum aşağıdaki kodları aynen kopyala yapıştır yaparak kullanabilirsiniz.

root dizinine mcache adında bir klasör oluşturup gerekli dosyalarımızı indiriyoruz.

?Kodu Al PHP

1
2
3
4
5
mkdir /root/mcache
cd /root/mcache
wget http://monkey.org/~provos/libevent-2.0.10-stable.tar.gz
wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
wget http://pecl.php.net/get/memcache-2.2.6.tgz

ilk olarak libevent kurulum ve ayarlarını yapıyoruz.

?Kodu Al PHP

1
2
3
4
5
tar xvzf libevent-2.0.10-stable.tar.gz
cd /root/mcache/libevent-2.0.10-stable
./configure
make
make install

Libevent Kurulum dizinini linkliyoruz.

?Kodu Al PHP

1
ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5

x64 kullananlar aşağıdaki komutu uygulamalılar

?Kodu Al PHP

1
ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5

Memcached Kurulum ve Derlemesine Geçiyoruz

?Kodu Al PHP

1
2
3
4
5
6
cd /root/mcache/
tar xvzf memcached-1.4.5.tar.gz 
cd /root/mcache/memcached-1.4.5
./configure --with-libevent=/usr/local/lib/libevent-2.0.so.5
make
make install

Memcache Kurulum ve Derlemesini Yapıyoruz.

?Kodu Al PHP

1
2
3
4
cd /root/mcache/
tar xvzf memcache-2.2.6.tgz
cd /root/mcache/memcache-2.2.6
phpize

komutun ardından karşımıza aşağıdaki gibi bir çıktı gelmesi gerekiyor.

?Kodu Al PHP

1
2
3
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519

eğer hata alırsanız aşağıdaki komutla phpize yolumuzu buluyoruz ve çıktıyı uyguluyoruz.
örnek çıktı aşağıdaki gibidir.

?Kodu Al PHP

1
which phpize

çıktı bu şekilde olabilir, çıktıyı aynen uyguluyoruz.

?Kodu Al PHP

1
/usr/local/bin/phpize

derlemeye devam edelim.

?Kodu Al PHP

1
2
3
./configure
make
make install

bu adımları doğru olarak uyguladıysak aşağıdaki gibi bir çıktı verecektir.

?Kodu Al PHP

1
Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20060613/

Bu çıktıyı bir yere not edelim lazım olucak.

şimdi memcached’i çalıştırıyoruz.

?Kodu Al PHP

1
/usr/local/bin/memcached -u nobody -d -m 64 -l 127.0.0.3 -p 11211

yukarıdaki satır memcacehd i 64Mb bellek ile 127.0.0.3 ip adresi üzerinde 11211 numaralı portta çalıştır demek.

Memcached’ın çalışıp çalışmadığını kontrol edelim.

?Kodu Al PHP

1
ps -ef |grep memcached|grep -v grep

Doğru çıktı aşağıdaki gibi olmalıdır.

?Kodu Al PHP

1
nobody 30091 1 0 17:16 ? 00:00:00 /usr/local/bin/memcached -u nobody -d -m 64 -l 127.0.0.3 -p 11211

Buraya kadar ne yaptık?
Gerekli modüllerimizi kurduk derledik ve memcached’ı aktif hale getirdik.

şimdi php.ini dosyamızı açıp gerekli tanımları yapıyoruz.

?Kodu Al PHP

1
nano /usr/local/lib/php.ini

php.ini içerisinde extensions_dir satırını bulup az önce not ettiğimiz kod ile değiştiriyoruz.
değişiklik sonrası hali aşağıdaki gibi olacaktır.

?Kodu Al PHP

1
extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20060613/"

yine php.ini dosyasının en altına aşağıdaki kodları ekliyoruz.

?Kodu Al PHP

1
2
extension = "memcache.so"
memcache.allow_failover = 0

dosyamızı ctrl+x ve y tuş kombinasyonlarıyla kaydedip apache mizi restartlıyoruz.

?Kodu Al PHP

1
service httpd restart

şimdi memcache desteğimizin aktif hale gelip gelmediğinin kontrolünü yapalım.

?Kodu Al PHP

1
php -i | grep "memcache support"

Doğru çıktının aşağıdaki şekilde olması gerekmektedir.

?Kodu Al PHP

çıktımızıda bu şekilde aldıysak herşeyi doğru bir şekilde hallettik demektir.

Son olarak her reboot ta memcached in otomatik çalıştırılması için rc.local dosyamızın en altına aşağıdaki satırı ekliyoruz.

?Kodu Al PHP

1
nano /etc/rc.local

?Kodu Al PHP

1
/usr/local/bin/memcached -u nobody -d -m 64 -l 127.0.0.3 -p 11211

Hepsi Bu kadar.

Takıldığınız noktalar olursa cevaplamaktan mutluluk duyacağım.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>