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.
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.
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.
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
1 |
ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5 |
Memcached Kurulum ve Derlemesine Geçiyoruz
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.
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.
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.
1 |
which phpize |
çıktı bu şekilde olabilir, çıktıyı aynen uyguluyoruz.
1 |
/usr/local/bin/phpize |
derlemeye devam edelim.
1 2 3 |
./configure make make install |
bu adımları doğru olarak uyguladıysak aşağıdaki gibi bir çıktı verecektir.
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.
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.
1 |
ps -ef |grep memcached|grep -v grep |
Doğru çıktı aşağıdaki gibi olmalıdır.
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.
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.
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.
1 2 |
extension = "memcache.so" memcache.allow_failover = 0 |
dosyamızı ctrl+x ve y tuş kombinasyonlarıyla kaydedip apache mizi restartlıyoruz.
1 |
service httpd restart |
şimdi memcache desteğimizin aktif hale gelip gelmediğinin kontrolünü yapalım.
1 |
php -i | grep "memcache support" |
Doğru çıktının aşağıdaki şekilde olması gerekmektedir.
çı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.
1 |
nano /etc/rc.local |
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.