Php5 (PHP-FPM) + MySQL destekli Nginx Kurulumu

nginxAmazon AWS üzerinde bir ec2 micro instance’ım var. Bu sunucu sadece 615 MB memory’e sahip olduğu için üzerinde koşan uygulamalara ram’i damlalıkla vermek icap ediyor. Böyle durumlarda oldukça lightweight olmasından ötürü Nginx kullanmak mantıklı bir seçim olabilir. Nginx özellikle static content serve etmek konusunda oldukça başarılı ve reverse proxy olarak da yaygın olarak kullanılıyor. Ayrıca, php konusunda da php-fpm üzerinden epey iyi iş çıkarıyor.

Sonuç olarak kaynaksızlıktan kırılan zavallı bir sunucunuz varsa nginx kullanmayı deneyebilirsiniz. Aşağıda centos 6.4 üzerinde php ve mysql destekli bir nginx kurulumunun nasıl yapılabileceğini bulabilirsiniz.

Yazinin devami icin tiklayin.


OpenX 2.8 Ad Server Kurulumu

OpenX, oldukça gelişmiş ve güzel bir reklam yötenim sistemidir. OpenX kullanarak sitenizde yayınladığınız reklamları kolayca yönetebilir ve reklam verenlerinize gelişmiş, istatistigi raportlama yapabilirsiniz. Php tabalı olan OpenX database olarak MySql kullanıyor ve oldukça performanslı çalışıyor. openx_logo

Ben, OpenX kullanarak, bir mysql bir apache olmak üzere,  Xeon 3Ghz işlemci ve 2GB ram’e sahip iki FreeBSD sunucu üzerinde aylık ortalama 100 milyon reklam gösterimi yapabiliyorum.  Sonuç olarak siz de reklam yönetimi için bir çözüm arıyorsanız, aradığınız OpenX olabilir.

Bu yazıda, OpenX’in nasıl kurulduğu ve genel geçer yönetim işleri anlatılmaktadır. (Kurulum FreeBSD 7.1 üzerinde yapılacaktır.)

OpenX aslında bir kaç kez ismi değişmiş ve bir çok revizyondan geçmiş bir yazılım. Zaman içinde phpAdsNew, Openads isimleri ile de tanınan bu güzel yazılımın son hali OpenX ve son sürümü 2.8.

İşte nasıl kurulduğu;

Yazinin devami icin tiklayin.


eAccelerator Kurulumu

eaccelerator 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.

Yazinin devami icin tiklayin.


Mysql – Backup to FTP (PHP Script)

Bir mysql sunucusundan mysqldump ile backup alıp ftp üzerinden uzaktaki bir sunucuya gönderen güzel bir php script.

İçeriği aşağıdaki gibi olan bu scripti kendi sisteminize göre düzenledikten sonra cron job olarak tanımlayabilirsiniz. Böylece periyodik olarak alınan backupları istediğiniz bir lokasyonda muhafaza edebilirsiniz.

Gerekenler

PHP
Bir FTP Hesabı
ve son olarak MYSQL

Uygulanışı

1 – Aşağıdaki script içeriğini serverınızda oluşturacağınız backuptoftp.php isimli bir dosyaya kopyalayın.

Yazinin devami icin tiklayin.


Php Upload File Size

Web tabanlı bir php uygulaması ile servera büyük ebatlı dosyalar upload etmek için php.ini’de default 2M olarak belirlenmiş olan upload_max_filesize ve post_max_size değerlerini arttırmanız gerekiyor.

Ancak web üzerinden yapılan upload işlemlerinde, upload edilen veri öncelikle Memory’e yazıldığı için bu değerleri çok arttırmanız durumunda sunucunuzda yeterli memory kalmamasına neden olabilirsiniz. Dolayısı ile bu değerleri girerken, ram miktarı ve sunucunun kullandığı memory miktarını göz önünde bulundurmakta fayda var. Yeni değerleri php.ini’ye girdiğiniz zaman apache’yi restart etmeniz gerekiyor.


Eaccelerator hit: httpd-error.log

Php’nin performanslı ve optimize çalışmasını sağlayan ve dinamik content cache işlemi yapan eAccelerator gerçekten de performansa süper katkıda bulunan bir yazılım. Ancak FreeBSD’de yaptığınız eAcceleretor kurulumunu, dökümanını okumadan direk ports dizini altından yaparsanız, httpd-error.log dosyasına “EACCELERATOR hit: “/usr/local/www/data-dist/blablabla.php” gibi çok sayıda satırın yazıldığını görebilirsiniz. Eğer yüksek trafiği olan bir siteniz var ise httpd-error.log dosyanız inanılmaz bir hızla çok büyük size değerlerine ulaşabilir.

Bu sorunu çözmeniz için yapmanız gereken şey, php.ini dosyanıza “eaccelerator.debug = 0” parametresini eklemektir.

Normal şartlarda dökümanı okuyarak source kurulumu yaparsanız, dökümanda php.ini’ye eklenmesi önerilen opsiyonlar arasında debug meselesi de mevcut. Ama dediğim gibi ports üzerinden kurup çalıştırırsanız -ki bu sorun dışında herhangi bir sorunla çıkarmadan çalışır- ilgili debug parametresini atlayabilirsiniz.

En azindan ben atladım.


Lighttpd, Mysql, Php, Eaccelerator ile OpenAds Ad Server kurulumu.

OpenAds, Ad Server diye tabir edilen bir reklam serverı yazılımıdır. Bu yazılım ile, sitenizde yayınladığınız reklam bannerlarını yönetebilir, bannerlerin ne sıkılıkla, hangi tarihler arası gösterileceği vs. gibi konularda gelişmiş bir yönetim sağlayabilirsiniz.

OpenAds’in yayınlanmış olan son sürümünden önceki Phpads olarak anılan 2.0 sürümünü kurarak, yüksek hit alan bir kaç site üzerindeki performansını inceleme şansım olmuştu. Php ile kodlanmış olan bu yazılım, Apache ve Mysql üzerinde çalışıyor ve performansı gerçekten oldukça iyi.

Bu entryde de FreeBSD üzerinde yapmış olduğum OpenAds son sürümü olan 2.4 kurulumunun notlarını paylaşacağım.

Yazinin devami icin tiklayin.