Apache’den gayrı sunucu bilmezdim, taaki lighttpd ye iÅŸim düşene kadar. Ve gördüm ki gerçekten adı kadar hafif bir sunucu imiÅŸ. Sadece 762 kb olan bu sunucuyu kurup , php ile bağını kurmak hiç de zor olmadı. Kendi sitesinden indirdiÄŸiniz dosyayı bir klasöre açtıktan sonra geleneksel kurulum yöntemleri ile kuruyoruz : Dosyaları açtığımız dizine gidip ;
1 2 3 | ./configure make make install |
diyerek kurulumu tamamlıyoruz. Geleneksel kuruluma ek olarak, istediğim klasöre kurulabilmesini sağlayabilmek için :
1 2 3 | ./configure --prefix=/home/ersin/lighttpd make make install |
demek yetiyor. Bundan sonra lighttpd yi ayarlayabilmek için gerekli ayar dosyasını oluşturmaya geldi sıra. Kurulum işlemi tamamlandığında lib,sbin ve share klasörleri oluşturacaktır ( eğer yukarıdaki prefix parametresini kullanıp farklı bir dizine kurdurduysanız) . Kurulum yaptığımız lighttpd klasörüne giderek burada www klasörü oluşturalım.
Kurulumu yukarıdaki komut satırındaki kuruluma göre , farklı bir dizine yapılmış kurulum olduğunu kabul ederek devam edelim.
sbin klasörüne girerek lighttpd.conf adında bir dosya oluşturalım. Bu dosyanın içerisine girerek şu satırları yazalım :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | server.document-root = "/home/ersin/lighttpd/www/" server.port = 8080 server.modules = ( "mod_rewrite", # "mod_redirect", # "mod_alias", # "mod_access", # "mod_cml", # "mod_trigger_b4_dl", # "mod_auth", # "mod_status", # "mod_setenv", "mod_fastcgi", # "mod_proxy", # "mod_simple_vhost", # "mod_evhost", # "mod_userdir", # "mod_cgi", # "mod_compress", # "mod_ssi", # "mod_usertrack", # "mod_expire", # "mod_secdownload", # "mod_rrdtool", # "mod_accesslog" ) index-file.names = ( "index.php","index.html" ) mimetype.assign = ( ".html" => "text/html", ".txt" => "text/plain", ".jpg" => "image/jpeg", ".png" => "image/png" ) |
Yuarıdaki kodlar üç aşşağı beş yukarı anlaşılır şeyler. Ama yine de tek tek değinelim.
server.document-root sunucumuzda yayınlanacak olan dosyalar için kök klasörü işaret eder. Bu klasöre atılan dosyaya web den erişilebilir (bunu kendi kurulumunuza göre değiştirin) .
server.port sunucumuzun çalışacağı port. Genelde 80 dir ama, zaten bir sunucunuz olduğunu düşünerek lighttpd yi denerken muhtemel bir problemden uzak tutmak için 8080 girdik.
index-file.names sunucumuzun kök klasöre eriştiğinde bakacağı index dosyasını belirlememizi sağlar.
mimetype.assign uzantılar ile MIME tipi ilişkilendiriyoruz.
Şimdi sıra geldi php yi tanıtmaya. Lighttpd de PHP yi kurabilmek için php-cgi kurmamız gerekmekte.
Ben ubuntu kullandığım için ubuntuya göre kurulumu anlatacağım.
1 | apt-get install php5-cgi |
gibi tek satır kod ile php5-cgi kurduktan sonra lighttpd.conf a aşağıdaki satırları ekliyoruz
1 2 3 4 5 6 7 8 9 10 11 | fastcgi.server = ( ".php" => (( "socket" => "/tmp/php-fastcgi.socket", "bin-path" => "/usr/bin/php-cgi", "max-procs" => 10, "bin-environment" => ( "PHP_FCGI_CHILDREN" => "10", "PHP_FCGI_MAX_REQUESTS" => "500" ), "broken-scriptfilename" => "enable" )) ) |
Bu satırları da ekledikden sonra sıra geldi lighttpdyi çalıştırmaya. Tabi bundan önce www dizinimizde index.php dosyası oluşturup içerisine
1 | phpinfo(); |
yazarak kaydetmeliyiz. Böylece php kurulumunu test edebiliriz.
Hadi lighttpd yi çalıştıralım, ilk önce konsoldan kurulumu yaptığımız dizindeki sbin klasörüne giriyoruz. Burda :
1 | ./lighttpd -D -f lighttpd.conf |
yazarak lighttpd yi çalıştırıyoruz ( lighttpd.conf dosyasını kolaylık olsun diye sbin klasörünün içerisinde oluÅŸturmuÅŸtum ) . Buradaki “D” parametresi lighttpd nin arka plana geçerek orda çalışmasını engeller. Böylece komut satırından “CTRL+C” ile iÅŸlevi sonlandırdığınızda lighttpd çalışmayı durdurur, “D” parametresini eklemezsek “CTRL+C” ile lighttpd yi durduramayız. “f” parametresi hangi config dosyasını kullanacağımızı belirtmek için.
Bu komutu çalıştırdıktan sonra
“2010-01-30 18:10:51: (log.c.166) server started”
benzeri bir çıktı verecektir. Bu da lighttpd nin çalıştığı anlamına gelir. Artık tarayıcı ekranından http://localhost:8080 dedikten sonra php bilgisi dökülecektir ekrana.
İlerleyen zamanlarda lighttpd ile ilgili tecrübelerimi burada paylaşmaya çalışacağım. Güzel günler dileği ile, hoşça kalın.
merhaba htaccess modrewrite ozellikleri var mı bunda , apache ye gore daha mı iyi performans sağlıyor..
lighttpd daha çok statik dosyalar için iyi (resim,css js gibi sodyaların sunulmasında).
Rewrite özelliklerine sahip, ama htaccess dekinden farklı biçimde yapılıyor ayarlar.
Tek başına apache yerine kullanılıp kullanılamayacağına dair net birşey söyleyemem.
Ama nginx tek başına apache yerine kullanılabilecek bir sunucu.