Bu bölüm PHP'nin Unix sistemlerde Lighttpd 1.4 ile kurulumu hakkında bilgiler ve ipuçları içerir.
Lütfen devam etmeden önce » Lighttpd redmine sitesini ziyaret edip Lighttpd'nin doğru düzgün nasıl kurulacağını öğreniniz.
PHP ve Lighttpd'ye bağlanmak için tercih edilen SAPI FastCGI'dir. FastCGI, php-cgi'yi otosihirli bir şekilde etkin kılar.
Lighttpd'nin PHP'ye bağlanmasını ve fastcgi süreçlerini çatallamasını sağlamak üzere yapılandırmak için lighttpd.conf dosyasını düzenlemeniz gerekir. FastCGI süreçlerine yerel sistemden bağlanmak için soketler tercih edilir.
Örnek 1 - lighttpd.conf'tan bir bölüm
server.modules += ( "mod_fastcgi" )
fastcgi.server = ( ".php" =>
  ((
    "socket" => "/tmp/php.socket",
    "bin-path" => "/usr/local/bin/php-cgi",
    "bin-environment" => (
      "PHP_FCGI_CHILDREN" => "16",
      "PHP_FCGI_MAX_REQUESTS" => "10000"
    ),
    "min-procs" => 1,
    "max-procs" => 1,
    "idle-timeout" => 20
  ))
)
   bin-path yönergesi lighttpd'nin fastcgi süreçlerini
   dinamik olarak çatallamasına izin verir. PHP kendi çocuklarını
   PHP_FCGI_CHILDREN ortam değişkenine göre çatallayacaktır.
   Çatallanan sürecin ortamını bin-environment yönergesi
   tanımlar. PHP, PHP_FCGI_MAX_REQUESTS değerinin aşılmasına
   sebep olan çocuk süreci öldürür. PHP'de min-procs ve
   max-procs yönergelerinden genel olarak kaçınılması
   gerekir. PHP kendi çocuklarını yönetir ve makine kodu önbelleklerini APC
   gibi çocukları arasında paylaştırır. min-procs
   yönergesine 1'den büyük bir değer atanmışsa PHP
   yanıtçılarının sayısı PHP_FCGI_CHILDREN değerinin katları
   olacaktır (2 min-procs * 16 çocuk eşittir 32 yanıtçı).
  
   Lighttpd, FastCGI süreçlerinin çatallanmasını kolaylaştırmak için
   spawn-fcgi adında bir uygulamayla gelir.
  
   Süreçleri spawn-fcgi kullanmaksızın çatallamak mümkünse de,
   biraz ağır kaldırma çalışmak gerekir. Gelen istekleri karşılamak için
   PHP'nin kaç çocuk çatallayacağı PHP_FCGI_CHILDREN ortam
   değişkeni ile belirlenir. PHP'nin her çocuğunun kaç isteklik yaşayacağını
   ise PHP_FCGI_MAX_REQUESTS belirler. Aşağıda, PHP
   yanıtçılarının çatallanmasına yardımcı olan basit bir bash
   betiği verilmiştir.
  
Örnek 2 - FastCGI Yanıtçılarının Çatallanması
#!/bin/sh
# php-cgi çalıştırılabilirinin yeri
PHP=/usr/local/bin/php-cgi
# PID dosyasının yeri
PHP_PID=/tmp/php.pid
# Dinlenecek adres
#FCGI_BIND_ADDRESS=10.0.1.1:10000
# Dinlenecek soket
FCGI_BIND_ADDRESS=/tmp/php.sock
PHP_FCGI_CHILDREN=16
PHP_FCGI_MAX_REQUESTS=10000
env -i PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN \
       PHP_FCGI_MAX_REQUESTS=$PHP_FCGI_MAX_REQUESTS \
       $PHP -b $FCGI_BIND_ADDRESS &
echo $! > "$PHP_PID"
Uygulamaları dengelemek için FastCGI örnekleri çok sayıda uzak makineye çatallanabilir.
Örnek 3 - Uzak FCGI örneklerine bağlanmak
fastcgi.server = ( ".php" =>
   (( "host" => "10.0.0.2", "port" => 1030 ),
    ( "host" => "10.0.0.3", "port" => 1030 ))
)
