Esta sección contiene información específica sobre la instalación de PHP con Lighttpd 1.4 en sistemas Unix.
Consulte » Lighttpd para una instalación correcta de Lighttpd antes de continuar.
FastCGI es el SAPI preferido para conectar PHP y Lighttpd. FastCGI activa automáticamente php-cgi.
Para configurar Lighttpd para que se conecte a PHP y llame al proceso FastCGI, se debe editar el fichero lighttpd.conf. Una conexión por sockets es la solución preferida para sistemas locales.
Ejemplo #1 Porción del fichero lighttpd.conf
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
  ))
)
   La directiva bin-path permite a lighttpd llamar al proceso FastCGI
   dinámicamente. PHP llamará a los hijos según la variable de entorno
   PHP_FCGI_CHILDREN. La directiva bin-environment define el entorno
   para los procesos llamados. PHP terminará un proceso hijo cuando el
   número de solicitudes especificado por PHP_FCGI_MAX_REQUESTS haya sido alcanzado.
   Las directivas min-procs y max-procs pueden generalmente ser ignoradas
   con PHP. PHP gestiona sus propios hijos y caches opcode como APC que comparte
   únicamente los hijos gestionados por PHP. Si min-procs se establece en algo
   superior a 1, el número total de respuestas PHP será multiplicado por
   PHP_FCGI_CHILDREN (2 min-procs * 16 hijos, da 32 respuestas).
  
Lighttpd proporciona un programa llamado spawn-fcgi para facilitar las llamadas a los procesos FastCGI.
Es posible llamar a los procesos sin spawn-fcgi, con un mínimo de configuración. La variable de entorno PHP_FCGI_CHILDREN controla el número de hijos que PHP llama para gestionar las solicitudes. La variable de entorno PHP_FCGI_MAX_REQUESTS determina la duración de vida, en número de solicitudes, de cada hijo. A continuación se muestra un script bash simple que ayuda a las llamadas a los gestores PHP.
Ejemplo #2 Llamada a los gestores FastCGI
#!/bin/sh
# Ubicación del binario php-cgi
PHP=/usr/local/bin/php-cgi
# Ubicación del fichero PID
PHP_PID=/tmp/php.pid
# Enlace a una dirección
#FCGI_BIND_ADDRESS=10.0.1.1:10000
# Enlace a un socket de dominio
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"
Las instancias FastCGI pueden ser llamadas en múltiples máquinas remotas para distribuir las aplicaciones.
Ejemplo #3 Conexión a instancias remotas de php-fastcgi
fastcgi.server = ( ".php" =>
   (( "host" => "10.0.0.2", "port" => 1030 ),
    ( "host" => "10.0.0.3", "port" => 1030 ))
)
