2012-03-17 7 views
5

Tengo un servidor que ejecuta hosts virtuales que se cambian con bastante frecuencia. En lugar de que alguien vaya al servidor y escriba el comando apache restart, estaba pensando en hacer un cron (cada 1, 5 o 10 minutos, tal vez solo durante las horas de trabajo, cuando realmente se realizan cambios en los hosts virtuales) para reiniciar Apache graciosamente.¿Se consideraría una mala práctica reiniciar apache (con gracia) cada 1/5/10 minutos?

sudo apachectl graceful 

He encontrado una explicación aquí en stackoverflow que dice así:

agraciados no espera a que las conexiones activas a morir antes de hacer un "reinicio completo". Es lo mismo que hacer un HUP contra el proceso maestro. Apache mantiene activos (procesos) con conexiones activas, al tiempo que cría nuevos hijos con nueva configuración (o cachés bien despejados) para cada nueva conexión. A medida que las conexiones antiguas desaparecen, esos procesos secundarios son asesinados también para dar paso a los nuevos.

¿Esto significaría que la experiencia del visitante (tiempos de espera prolongados) tendría poco o ningún impacto, o debería simplemente seguir reiniciando Apache manualmente?

Gracias!

+1

Voto por reinicios manuales. – duffymo

+1

alguna vez sobre 'reload' (o tal vez' force-reload')? 'restart' es ... estúpido ^^ – KingCrunch

+0

¿Qué pasa con [Dynamic Virtual Hosts] (http://httpd.apache.org/docs/2.4/rewrite/vhosts.html)? – steveax

Respuesta

3

Lo siento, pero no considero que sea una buena idea.

Si planea reiniciar Apache cada X minutos, aunque no lo necesite, veo muchas desventajas pero no ventajas.

Si solo está revisando y reiniciando cuando sea necesario, como con un proceso en ejecución que puede detectar cuándo es necesario un cambio , que podría estar bien.

Personalmente, ni siquiera lo haría, ya que prefiero mantener el control sobre los cambios de implementación. Por ejemplo, si desea tener un montón de cosas instaladas durante el día laboral listas para reiniciarse, pero no activarlas hasta el momento de silencio.

Por supuesto, en un entorno robusto, estaría ejecutando varios servidores para que pueda desconectarlos de uno en uno en busca de cambios, sin que afecte a nadie.

+0

Gracias por su contribución. Usted tiene un punto válido! :) –

Cuestiones relacionadas