Lighttpd 1.4 en sistemas Unix
PHP Manual
PHP Manual»Instalación en sistemas Unix»Lighttpd 1.4 en sistemas Unix

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.

Llamada de PHP por Lighttpd

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).

Llamada con spawn-fcgi

Lighttpd proporciona un programa llamado spawn-fcgi para facilitar las llamadas a los procesos FastCGI.

Llamada de php-cgi

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"

Conexión a instancias FCGI remotas

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 ))
)
To Top