eAccelerator Kurulumu
Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYKjnb9J' (Errcode: 28 - No space left on device) in /usr/share/nginx/html/syslogs/wp-includes/class-wpdb.php on line 2349
php uygulamalarını hızlandırmanın yollarından birisi de şüphesiz ki sürekli kullanılan php scriptlerini önbelleğe almak ve bu scriptlerin herseferinde yeniden derlenmesi işini ortadan kaldırmaktır. |
Böylece, php kodlarının tekrar tekrar derlenmesi için gerekecek olan işlemci gücünden tasarruf edip uygulamanızı hızlandırabilirsiniz. Ben, bu iş için kullanılabilecek bir kaç yazlımdan biri olan eaccelerator'ün oldukça faydasını gördüm; eğer siz de böyle bir arayış içerisindeyseniz eaccelerator'ü tavsiye edebilirim.
eaccelerator de yukarıda bahsettiğim gibi compile edilmiş php scriptleri önbelleğe alıp kodu direk olaran buradan çalıştırarak işlemleri hızlandıran güzel ve kurulumu da oldukça kolay bir yazılım.
Aşağıdaki adımları izleyerek eAcceletor'u kaynak koddan kurabilirsiniz.
NOT: Ben web sunucusu olarak üzerinde Apache 2.0 ve php5 kurulu olan bir FreeBSD sunucusu kullanıyorum. Ancak kurulum kaynak koddan yapılacağı için farklı bir OS kullanmanız sorun olmayacaktır. |
İşte kurulum ve yapılandırma adımları
Kurulum
eAccelerator'un son sürümünü sunucunuza download edin. Ben bu iş için /usr/local/src/ dizinini kullanıyorum:
# cd /usr/local/src/ # fetch http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2
Download ettiğimiz paketi açalım.
# bunzip2 eaccelerator-0.9.6.1.tar.bz2 # tar xvf eaccelerator-0.9.5.3.tar
Şimdi aşağıdaki komutları sırası ile vererek derleme işlemini yapalım:
# cd eaccelerator-0.9.6.1 # phpize # ./configure # make
Son olarak da kuralım.
# make install
Kurulum işlemi sorunsuz olarak tamamlandıysa, yapılandırma adımına geçebiliriz.
Yapılandırma
eAccelerator'ü zend ya da php extension olmak üzere iki şekilde yapılandırabilirsiniz. Ben Zend extension olarak kullanıyorum.
vi ile php.ini dosyasını editleyelim (genelde /etc/php.ini olarak geçer ancak FreeBSD'lerde bu dosya /usr/local/etc/php.ini olarak geçer.)
# vi /usr/local/etc/php.ini
Aşağıdaki satırları php.ini dosyasına ekleyin ve kaydedip çıkın.
zend_extension="/usr/local/lib/php/20060613/eaccelerator.so" eaccelerator.shm_size="32" 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"
Dosya içerisine eklediğimiz satırlarla ilgili detaylı bilgiye http://www.eaccelerator.net/wiki/Settings adresinden erişebilirsiniz. İlgili sayfayı inceleyerek, yapılandırmayı kendinize göre özelleştirebilirsiniz; ancak yukarıdaki conf işe yarayacaktır.
NOT: Yukarıdaki ilk satırda belirtilen eaccelerator.so dosyasının path'ini kendinize göre düzenlemeniz gerekmekte. Kurulum sırasında bu .so kütüphanesinin bulunduğu dizin belirtilmektedir. Ayrıca, find / -name eaccelerator.so komutu ile tam path'i bulabilirsiniz. |
Artık son adıma geçebiliriz.
Cache Dizininin Oluşturulması
Kurulumu tamamlamak üzere yapılması gereken son işlem, cache'lenecek php scriptlerinin bulunacağı dizinin oluşturulması ve gerekli izinlerin tanımlanmasıdır. Sırası ile aşağıdaki adımları izleyerek bu işlemi yapalım.
# mkdir /tmp/eaccelerator # chmod 0777 /tmp/eaccelerator/
Kurulum tamamlandı; değişikliklerin devreye girmesi için web sunucunuzu yeniden başlatmalısınız. Son olarak eAccelerator'ün sorunsuz olarak çalışıp çalışmadığından emin olalım:
Sisteminize php -v komutunu verdiğiniz zaman aşağıdaki gibi bir çıktı almanız gerekir.
PHP 5.2.9 with Suhosin-Patch 0.9.7 (cli) (built: May 4 2009 14:02:30) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies with eAccelerator v0.9.5.3, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
Ayrıca, websunucunuza aşağıdaki içeriğe sahip bir php dosyası atabilir ve ilgili php dosyasını web browserınızdan çağıradak php durumunu kontrol edebilirsiniz.
// Show all information, defaults to INFO_ALL phpinfo(); // Show just the module information. // phpinfo(8) yields identical results. phpinfo(INFO_MODULES); ?>
Php info'unu ekrana basan bu php dosyasını çağırdığınız zaman ilgili sayfada eAccelerator ile ilgili bir bölüm görmeniz gerekir. Eğer görüyorsanız, eAccelerator kullanılmaya hazır demektir.
Hepsi bu.
Bu yazılar da ilginizi çekebilir:
- Lighttpd, Mysql, Php, Eaccelerator ile OpenAds Ad Server kurulumu.
- Eaccelerator hit: httpd-error.log
- OpenX 2.8 Ad Server Kurulumu
- FreeBSD üzerine Rsyslog Kurulumu ve Yapılandırması
- Unbound ile Güvenli Recursive DNS Kurulumu
Teşekkürler hocam, bu gayet ilgimi çeken bir döküman oldu.
[Cevapla]
zend kısmı kafamı karıştıdır zend den tam olarak kastınız nedir acaba ?
[Cevapla]