Solución: Error 504 Gateway Timeout – Cherokee PHP

Después de varios problemas con el mentado error 504 Gateway Timeout y algunas soluciones temporales como matar procesos de PHP CGI por fin he dado con la solución (por lo menos lleva semanas sin fallar).

Efectivamente el error es provocado por el interprete de PHP-CGI ya que tenia poco tiempo para procesar la solicitud y pues a veces se quedaba colgado el proceso.

Antes que nada tenemos que verificar que este correctamente configurado el interprete de PHP para FastCGI (PHP_FCGI), entramos al panel de control con el comando cherokee-admin y despues nos dirigimos a Origenes > PHP

Y verificamos que este en conexión: 127.0.0.1:47990 (el puerto pueden ponerle cualquiera que este libre)
Y también en interprete: /usr/bin/php-cgi -b 127.0.0.1:47990

Despues nos vamos a donde se especifica el tiempo máximo para cada respuesta del PHP FCGI, para eso nos pasamos a la consola y como root nos metemos al archivo /etc/cherokee/cherokee.conf

Y agregamos/modificamos el siguiente parámetro: PHP_FCGI_MAX_REQUESTS = 300

source!1!env!PHP_FCGI_CHILDREN = 5
source!1!env!PHP_FCGI_MAX_REQUESTS = 300
source!1!env_inherited = 1
source!1!host = 127.0.0.1:47990
source!1!interpreter = /usr/bin/php-cgi -b 127.0.0.1:47990
source!1!nick = PHP Interpreter
source!1!type = interpreter

Recordemos que si tenemos varios interpretes puede cambiar el parámetro después de source! por algún otro número.

Y listo! reiniciamos cherokee y en teoría no debería de fallar.

2 thoughts on “Solución: Error 504 Gateway Timeout – Cherokee PHP

  1. A mi no me sirvio, realicé lo siguiente:

    Entrar al administrador de cherokee (en consola cherokee-admin -b), e ir a la opción “vServers”
    Seleccionar el servidor virtual correspondiente (en mi caso es “default”) y dar clic en la pestaña “Comportamiento”
    Dar clic en el link “Extensions PHP”, e ir a la pestaña “Restrictions”
    En el campo “Tiempo de Espera” modificar el tiempo de espera del script (en segundos)

    Cualquier cosa me cuentan

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *