Sunucumuzda calisan php uygulamasi icin optimize edici ve hizlandirici olarak iyi bir basari elde eden eAccelerator uygulamasi icin kurulum konusunda yardimci olabilecek birseyler yazmak istedim. Nedir eAccelerator derseniz: zend optimizer tarzinda php betiklerini optimize ederek %10 – %15 oranlarinda hizlandirmaya yarayan cache tarzi optimizer uygulamasidir.. Ancak Cache ile karistirmamak lazim, bu uygulama php programi icin hizlandirici olarak kullanilmaktadir.. Php betikleri cache ile hafizaya alarak ilerki isteklerde isleme koymaktadir, bunun icin bu uygulamaya sadece php cache uygulamasida diyebiliriz.. Diger tur cache sistemleri ile karistirmamak ve onlarla beraber kullanmak mantikli olacaktir.. Ornegin Xcache ve eAccelerator beraber kullanilabilir yada memcached ile..

Kurulumu cok zor degil, ben centos ve fedore sunucular icin kurulumu anlatacagim, digerlerini kullanmadigim icin deneme firsatim olmadi ancak deneme sansim olursa o tarz sunucular icinde kurulumu anlatacagim..

Ben bu yazimda eAccelerator 0.9.6.1 versiyonu icin kurulumdan bahsedecegim. Suan(02 Ocak 2011) itibariylede en guncel versiyon budur, ancak ilerleyen zamanlarda yeni versiyon cikabilir bu sebeple dokumani okumaya baslamadan once versiyon kontrolu icin buraya bakip, yeni versiyon varsa onun indirme linklerini ve isimlerini kullanarak kuruluma devam edin. Eger yorum olarak yeni versiyon hakkinda bilgi verirseniz gerekli guncellemeri bu dokuman icinde yapacagim.

eAccelerator 0.9.6.1 versiyonu en az php 5.1 ve ustunu desteklemektedir. php 4.x.x versiyonlarini desteklemedigi icin kuruluma baslamadan once ya guncelleme yapin yada daha eski surumlerini kurmayi deneyin. Bu versiyon ayrica php 5.3 versiyonu icinde tam destek vermektedir, yani desteklemektedir..

Konuyu fazla uzatmadan kuruluma gecmek istiyorum, oncelikle SSH girisi yapmis olmaniz gerek, yani bunun icin sunucuda ust duzey yonetici olmaniz ve root yetkisine sahip olmaniz gerek..

Baslarken sunucuda eAccelerator icin gerekli olan programlari kontrol etmemiz gerek:
Not: php 5.1.x versiyonu ve ustu kurulu olmalidir sunucunuzda.

ve asagidakiler:
* automake
* autoconf
* libtool
* m4
Yukarida belirttigim uygulamalarin kontrolunu yapmak icin ssh ekranina asagidaki kodu yazip enter yapin:

rpm -qa automake autoconf libtool m4

listeledigim uygulama isimleri versiyonlari ile beraber cikti ise, hepsi var demektir, ancak biz yinede eksik olabilecegini dusunerek asagidaki kodu calistirip yoksa kurmasini isteyelim:

yum install autoconf automake libtool m4

Bulundugumuz dizine eAccelerator dosyalarini cekelim:

wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2

sonrasinda asagidakileri ssh ekraninda calistirarak dosyalari acip icerisine girelim:

bunzip2 eaccelerator-0.9.6.1.tar.bz2
tar -xvf eaccelerator-0.9.6.1.tar
cd /eaccelerator-0.9.6.1
export PHP_PREFIX="/usr"

Bu islemlerden sonra phpize’yi calistriacagiz arkadaslar:

phpize

phpize’yi calistirdigimizda boyle bir hata alirsaniz eksik bir uygulama kurulu degil demektir: phpize: command not found Phpize bize gereklidir arkadaslar, bu sorunu ortadan kaldirip devam etmek icin buradan phpize icin gerekli olan yazilimi kuralim.

phpize icin gerekli olan uygulamayi kurduktan sonra tekrar calistiralim:

phpize

bu sefer hata vermeden devam edecektir. Sonrasinda ayarlari configure edelim:

./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config

Ve son iki islem kaldi arkadaslar:

make
make install

Bu islemlerden sonra Asagidaki gibi bir yol cikacak:

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

Bu herkeste farklidir, eger zend optimizer ile kullanmak istersek php.ini dosyasini duzenlerken gerekli olacak, o yuzden bir yere bu yolu kaydedip devam edin.

Evet simdi php ye eAccelerator u bildirip calismaya baslamasini saglayalim. Bunun icin php.ini dosyamiza bir kac konfigurasyon kodu ekleyecegiz. Eger sistemin kullandigi php.ini dosyasinin nerde oldugunu bilmiyorsaniz asagidaki kodu ssh ekranina yapistirip calistirin, php nin kullandigi php.ini dosyasinin yolunu gosterecektir:

php -i | grep php.ini

Ben php.ini yolunu boyle dusunerek asagidaki kodlari hazirlayacagim, siz kendinize gore duzenleyin php.ini yolunu: /usr/local/lib/php.ini

php.ini dosyamizi nano programi yardimi ile acalim:

nano /usr/local/lib/php.ini

Bu adimda iki secenek var arkadaslar, eger zend optimizer ile beraber kullanmak isterseniz asagidaki kodlari php.ini dosyasinin en sonuna kaydedin:

zend_extension="/usr/lib/php/extensions/no-debug-non-zts-XXX/eaccelerator.so"
eaccelerator.shm_size="512"
eaccelerator.log_file = "/var/log/eaccelerator_log"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

Bu kodu ekledikten sonra icerisindeki bir bolumu kendimize gore duzenlememiz gerek, yukarida da bahsetmistim, make install isleminden sonra size bir kod cikartacak saklayin lazim olacak demistim :) isde o kismi asagidaki kirmizi alan ile degisin:
zend_extension=”/usr/lib/php/extensions/no-debug-non-zts-XXX/eaccelerator.so”

ve Kaydedin, Ancak sisteminizde zend optimizer yoksa yada, onsuz kullanmak istiyorsaniz eAccelerator uygulamasini asagidakileri php.ini dosyanizin sonuna ekleyin. (karistirmayin arkadaslar iki kisimdaki kod da farklidir, bu yuzden ikisinide kullanmaya calismayin, sadece birini kullanacaksiniz)

extension="eaccelerator.so"
eaccelerator.shm_size="512"
eaccelerator.log_file = "/var/log/eaccelerator_log"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

Bitti sayilir arkadaslar, son olarak eAccelerator icin cache klasoru olustururalim:

mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator

Buraya kadar hata almadiysaniz islemler sorunsuz devam etmis demektir. Son olarak Apache webserver uygulamasina restart atarak ayarlarin aktif olmasini ve eAccelerator’un kullanilmaya baslamasini saglayalim:

service httpd restart

Bu dokumanida bitirmis oldum arkadaslar, eger sorun yasayan olursa yorum birakmasi yeterli olacaktir, en kisa zamanda cevap vermeye calisacagim..

3 YORUMLAR

CEVAP VER

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.