Apache ile çalışan web sitelerini Lighttpd ile nasıl hızlandırabileceğimzle ilgili:
Lighttpd, Apache ve diğer ücretsiz rakipleri karşısında büyük üstünlük sağlayıp tek rakibim THY dercesine büyük abisi Zeus'la yarışabilecek kapasitededir. Özellikle performans konusunda ücretsiz olması özelliğiyle de büyük bir artıya sahiptir.
Youtube gibi büyük hit alan siteler, sunucu yoğunluğunu karşılamak için Lighttpd kullanmaktadırlar.
Apache ve Lighttpd'nin karşılaştırmasını aşağıda görebilirsiniz.
Lighttpd'yi sitemizin statik içeriğini yayınlamak için kullanacak ve bu sayede Apache'nin düşük olan bağlantı limitini arttırıp, sunucunun üzerindeki büyük bir yükü kaldıracağız:
Önceliklekle aşağıdaki komut ile source code'unu indiriyoruz:
http://www.lighttpd.net/download/lighttpd-1.4.12.tar.gz
- Yeni versionlar olabilmesi ihtimaline karşı
http://www.lighttpd.net ten son versiyona bakabilirsiniz.
Ardından indirdiğimiz versiyonu açıp bulunduğu klasöre giriyoruz:
gzip -cd lighttpd-1.4.12.tar.gz | tar xf -
cd lighttpd-1.4.12
Lighttpd klasöründeyken kurulum için:
./configure
make
make install
Yazıyoruz sırasıyla.
İşlemler tamanlandıktan sonra:
cp doc/rc.lighttpd /etc/init.d/lighttpd komutu ile başlangıçta açılmasını sağlıyor,
cp doc/sysconfig.lighttpd /etc/sysconfig/lighttpd komutu ile config dosyasını belirtiyoruz
mkdir /etc/lighttpd/ komutu ile config dosyasının bulunacağı klasörü oluşturuyoruz
cp doc/lighttpd.conf /etc/lighttpd/lighttpd.conf komutu ile örnek config dosyasını kopyalıyor
chkconfig lighttpd on komutu ile config dosyasının syntaxini kontrol ediyoruz.
-------
Yukarda yaptığımız işlemler ile sunucumuzu install ettikten sonra, çalıştırmadan önce config dosyasının ayarını yapmamız gerekiyor. İsterseniz kopyaladığımız config dosyasında aşağıda vereceğimiz örnek dosyasındaki gibi document-root ve port ayarlarını yapabilirsiniz...
----
Örnek config:
server.document-root = "/var/www/vhosts/site.com/httpdocs/images" - bu satırda lighttpd'nin çalışacağı klasörü belirtiyoruz. Örnek olarka Plesk sunucularda kullanılan directory path ile site.com/images klasörünün, lighttpd'nin rootu olmasını belirtiyoruz.
Yani burda belirtilen
http://site.com/images/logo.gif dosyası, lighttpd ye ulaşırken http://ipadresiortadresi/logo.gif olacaktır.
server.port = 81 - Sunucunun portunu belirtiyoruz
mimetype.assign = (
".html" => "text/html",
".txt" => "text/plain",
".jpg" => "image/jpeg",
".png" => "image/png"
) Bu bölümde de sunucunun tanıyacağı mime typeleri belirtiyoruz.
Images ya da hangi klasörde lighttpd'yi başlatıyorsanız o klasorde, şifreli dosyalar, source codelar(php,perl gibi) bulundurmamanız gerekiyor.
Eğer bu dosyaların bulunduğu bir klasörden başlayacaksanız, mod_access'i (genel config dosyası ile yapabilirsiniz) açmanız ve excluded files tan uzantıları belirtmeniz gerekir .pl .php. cgi gibi.
Örnek dosya ile port 81 ile başlatıyoruz Lighttpd'yi:
----------------------------------------
server.document-root = "/var/www/vhosts/site.com/httpdocs/images"
server.port = 81 - Sunucunun portunu belirtiyoruz
mimetype.assign = (
".html" => "text/html",
".txt" => "text/plain",
".jpg" => "image/jpeg",
".png" => "image/png"
)
----------------------------------------
Static dosyalar için kısa, güvenli ve yeterli bir config dosyası.
Lighttpd'yi başlatmak için:
lighttpd -f /etc/lighttpd/lighttpd.conf yazmanız yeterli. Her sistem başlangıcında yüklenecektir. Backgrounda atılmasını istemiyorsanız -b parametresi ile çalıştırabilirsiniz.
Artık image dosyalarınızı, http://ipadresi:81/dosya.gif gibi linkleyip, apache'nin daha hızlı çalışmasını ve sisteminizin rahatlamasını sağlayabilirsiniz