Memcached Kurulumu

Merhaba arkadaşlar bugüns sizlere popüler cache sistemlerinden memcache kurulumunu anlatacağım kurulum centos serverda test edilmiştir.Loadları %10’a düşürmüştür.Herkezde aynı etkiyi yaratmayabilir yinede gerçekten kullanışlı olduğunu söyleyebilirim.

Memcache : 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 GittiGidiyor * LiveJournal * Wikipedia * Flickr * Bebo * Twitter * Typepad * Yellowbot * Youtube * Digg * WordPress.com * Craigslist . gösterilmektedir.

Yapısı gereği bütün web siteleri için faydalı olduğunu rahatlıkla söylenebilmektedir. Forum üzerinde ön bellek kullanmak isteyenler için vbulletin sisteminin bunun için conf dosyasında ayrı bir destek alanı bulunmaktadır.

Memcache çalışması için server üzerinde 11211 portun açık olmasına ihtiyaç duymaktadır.
verilerinizi cachelemek için belleğinizi kullanmaktadır. Dolayısıyla yoğun yapılan sql bellek sorgularını ön belleğe alarak çok daha hızlı yanıt almanızı sağlar.

Sunucumuza memcached nasıl kuracağız şimdi bunu anlatalım.

Öncelikle memcache çalışabilmek için 3 modüle ihtiyaç duyar.

1- libevent nedir?

libevent bir dosya tanımlayıcısı üzerinde bir durumun gerçekleştiğinde ya da herhangi bir zaman aşımı olduğunda çalışması için geri çağrılan işlevleri çalıştırmayı sağlayan bir kütüphanedir. Neredeyse bütün işletim sistemlerinde derlenebilir. Çok farklı şekillerde durum kütüphanesini kullanmak mümkündür.

2- memcached nedir?

MemCached TCP/IP üzerinde çalışan sunucudur.

3- memcache nedir?

MemCache ise PHP’nin MemCached sunucusuna bağlanan, değer set eden, anlık durum bilgisi gösteren yani MemCached üzerinde işlemler yapan kütüphanesidir.

Neyin ne olduğunun açıklamasını hiç bilmeden kullanmaktansa okumayı bilgilenmeyi seven arkadaşlarıma itaf ediyorum.

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

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

Şimdi libevent kurulum ve ayarlarını yapıyoruz.

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.

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

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

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

Memcached Kurulum ve Derleme İşlemine Geçiyoruz

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.

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.

PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519

Hata alırsanız aşağıdaki komut ile phpize yolumuzu buluyoruz ve çıktıyı uyguluyoruz.
örnek çıktı aşağıdaki gibidir.

which phpize

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

/usr/local/bin/phpize

derlemeye devam edelim.

./configure
make
make install

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

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

Bu çıktıyı bir yere not edelim gerekli olucak.

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

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

yukarıdaki satır ile memcacehd i 64Mb bellek ile 127.0.0.3 ip adresi üzerinde 11211 numaralı portta çalıştır diyoruz.Bellek sizi tatmin etmez ise değiştirip genişletebilirsiniz.

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

ps -ef |grep memcached|grep -v grep

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

nobody sizin işlemnumaranız 1 0 20:16 ? 00:00:00 /usr/local/bin/memcached -u nobody -d -m 64 -l 127.0.0.3 -p 11211

Buraya gerekli modüllerimizi kurduk derledik ve memcached’ı aktif hale getirdik.

şimdi php.ini dosyamızı açıp gerekli tanımları yapıyoruz php.ini dosyamızın yerini bilmeyenler için bulmak için

php -i | grep php.ini

Komutu ile dizin yolumuzu öğreniyoruz benim dizin yolum ile sizinki aynı olmayabilir sistem farkı diyelim buna siz bu komutla bulup editlemeyi aynen burada olduğu gibi yapmaya devam ediniz.

Editörümüzle nano veya pico veya vi ile php.ini dosyamızı açıyoruz ve gerekli editlemeleri yapıyoruz.

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.

extension_dir = “/usr/local/lib/php/extensions/no-debug-non-zts-20060613/”

Kloxo panel kullanalar bu düzenlemeyi yapmasınlar.

Yine php.ini dosyamızın en altına

extension = memcache.so
memcache.allow_failover = 0

Kloxo panel kullananlar için

extension_ts= memcache.so
memcache.allow_failover = 0

Dosyamızı ctrl+x e enter tuş kombinasyonlarıyla kaydedip apache’i yeniden başlatıyoruz.

service httpd restart

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

php -i | grep “memcache support”

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

memcache support => enabled

Sonuç bu şekilde ise herşeyi doğru bir şekilde hallettik demektir.

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

Klxo kullananlar için gerekli değil

nano /etc/rc.local

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

Kurulum ve ayarlar bitti bursa bilgisayardan mutluluklar dilerim. Takıldığınız bir nokta var ise memnunniyetle yardımcı olurum.

Loading Facebook Comments ...

Leave a comment

 Characters available