Cpanel üzerinde Nginx’in proxy olarak kurulması

Nginx web sunucusunun cpanel kurulu bir sunucuda apache üzerinde proxy olarak çalıştırmak konusu ile ilgilenirken, bunu otomatik yapacak bir cpanel eklentisi ile karşılaştım. SSH ile bir sürü işlem yapıp el ile kurulum ve ayar yapmak zorunda kalmadan bu işi kopyala yapıştır ssh komutlarıyla gerçekleştirebildim.

Nginx sunucunu apache için bir proxy olarak çalıştırdığımızda statik içerikler (css, html, jpg, avi, zip vb.) apache tarafından işlenmeden nginx üzerinden tarayıcıya gönderilir, betik dilleri ise apache tarafından işlenip gönderilir (php gibi). Apache sunucusuna yük bindiren esas olay istek sayısıdır, ayrıca istek sayısını sınırlamak için ayarlar da bulunur. Statik içerikleri nginx ile gönderdiğimizde apache sunucundaki istek sayısını bir hayli azaltmış oluruz.

Eklentinin web sayfası: http://nginxcp.com/

Ben kurarken son geliştirme sürümü olan “nginxadmin2.1-development” sürümünü kurmuştum, ancak stabil bir sürüm kurmakta fayda var.

Kurulum

Kurulum işlemi ssh ile yapılıyor, kurulum için aşağıdaki kodların tek tek yazılması yeterli:

cd /usr/local/src
wget http://nginxcp.com/nginxadmin2.1-development.tar
tar xf nginxadmin2.1-development.tar
cd publicnginx
./nginxinstaller install

Kurulum işlemi nginx web sunucunu kuruyor, apache portunu 8081 yapıyor ve apache virtual hostlarını otomatik olarak nginx virtual host dosyalarına dönüştürüyor. Bir de cpanel de en altta ayar menüsü çıkıyor, ayarlar oldukça sade ancak yeterli görünüyor.

Cpanel üzerinde nginx paneli ekran görüntüleri:
http://www.nginxcp.com/wp-content/uploads/2010/09/screenshot1.jpg
http://www.nginxcp.com/wp-content/uploads/2010/09/screenshot2.jpg

Resimde görüldüğü gibi “Rebuild Vhosts” butonu mevcut, bununla apache virtual host larını nginx virtual hostlarına dönüştürebiliyoruz, ancak cpanelden yeni alan adı veya subdomain eklediğimizde bu işlemin otomatik yapılıp yapılmadığını henüz test etmedim.

Kaldırma

Kaldırma işlemi için yazılacak kodları:

cd /usr/local/src
wget http://nginxcp.com/nginxadmin2.1-development.tar
tar xf nginxadmin2.1-development.tar
cd publicnginx
./nginxinstaller uninstall

Sonuç

Kurulumdan sonra test sayfamı açtığımda wappalyzer de apache ikonu yerine nginx ikonu belirince işlemin sorunsuz gerçekleştiğini anladım.

Kullandığım betiklerde hiçbir sorun yoktu, nginx apache üzerinden .htaccess dosyalarını da okuyabiliyordu, hiç bir permalink ayarında hernhangi bir değişiklik yapmadan tümü çalışıyordu.

Nginx tmp temizliği için cron ayarlanması

SSH dan “crontab -e” komutu verip listenin sonuna aşağıdaki kodları ekliyoruz:

0 */4 * * * /usr/sbin/tmpwatch -am 4 /tmp/nginx_client

Test ettiğim betikler

  • WordPress 3.1
  • phpBB 3.0.8 (phpBB SEO permalink)
  • Vbulletin 4.1.1 (vbseo permalink)
2 thoughts on “Cpanel üzerinde Nginx’in proxy olarak kurulması
  1. ercan

    Anlatım için teşekkür ederim.

    Hocam ben başka bir yöntem ile nginx proxy kurdum cpanel sunucuma.

    Statik dosyaların (yani jpg png ico gibi) nginx üzerinden işlenmesini isteyince vbseo eklentileri rewrite edemiyor. Yani eklenti olarak eklediğim jpg dosyaları 404 hatası veriyor.

    Senin kullandığın yöntemle vbseo eklentileride rewrite edebiliyor mu apache htacces ini kullanarak. Tümü çalışıyor mu yani vbseo fonksiyonlarının.

  2. angelside

    nginx proxy olarak kullanıldığında rewrite işlerini apache halleder, nginx sadece statik içeriği gönderir. Ancak nginx tek başına sunucu olarak kurulduğunda tüm rewrite ayarları nginx kurallarına göre yazılıp ayar dosyalarına eklenmeli.

Bir Cevap Yazın