2012-05-21 11 views
5

Estoy buscando una solución nginx que muestre un mensaje de baja temporal cuando el servidor subyacente está inactivo.¿Cómo implementar una página de mantenimiento inteligente para nginx que aparece cuando el servidor subyacente está inactivo?

Busco o una solución que se comportan de esta manera:

  • pantalla una página de mantenimiento (503) si el servidor de aguas arriba es abajo
  • pantalla un tiempo de espera (504) si el servidor de origen no lo hizo devolver cualquier contenido en 60 segundos (podría llevar más tiempo devolver todo el contenido)
  • opcionalmente: encuentre una manera de medir el tiempo que pasó desde que el servicio se cayó por primera vez para poder mostrar un mensaje de mantenimiento: pero envíe un correo electrónico al administrador si esto todavía sucede durante más de 5 minutos.

Para reiterar, el objetivo es hacer una configuración que permita al administrador del servidor reiniciar los servidores ascendentes sin tener que administrar los mensajes de mantenimiento.

+1

Esto parece un duplicado de [5031818] (http://stackoverflow.com/questions/5031818/show-a-custom-503-page-if-upstream-is-down), además de usar algo como http: //pingdom.com –

Respuesta

0

Si configura los valores de tiempo de espera para solicitudes proxy o fcgi (según su configuración) a su gusto, puede utilizar la directiva error_page para configurar diferentes páginas de error para códigos de error específicos.

The nginx documentation tiene los detalles, como ya se señaló por kashyap.

Su requerimiento opcional básicamente equivale a un servicio de monitoreo, esto no es algo mejor hecho dentro de un servidor frontend, lo más probable.

Cuestiones relacionadas