En Rails, ¿cuál es la mejor estrategia para reiniciar servidores de aplicaciones como Thin después de una implementación de código a través de un script de Capistrano. Me gustaría poder implementar el código en los servidores de producción sin temor a que un usuario vea la página 500.html.Cómo reiniciar los servidores de producción Rails después de la implementación del código sin tiempo de inactividad
Respuesta
Unicorn se supone que tiene reinicios rodantes integrados. Todavía no configuré una pila de unicornio pero http://sirupsen.com/setting-up-unicorn-with-nginx/ parece un buen comienzo.
La manera en que solía hacer los servidores de producción es con apache y pasajero. eso es una configuración estándar de la industria y le permitirá implementar nuevas versiones con un tiempo de inactividad
Una vez que todo está correctamente configurado todo lo que tiene que hacer es, ir al directorio de aplicación
crear un archivo llamado restart.txt en/tmp dir.
Ej: toque tmp/restart.txt
leer más aquí http://www.modrails.com/
http://jimneath.org/2008/05/10/using-capistrano-with-passenger-mod_rails.html
http://www.zorched.net/2008/06/17/capistrano-deploy-with-git-and-passenger/
http://snippets.dzone.com/posts/show/5466
HTH
sameera
Parece una gran función incorporada para pasajeros. Lástima que actualmente estoy ejecutando combo Thin/Nginx –
Encontré esta pregunta mientras buscaba una respuesta. Como quería seguir con Thin, ninguna de las respuestas se ajustaba a mis necesidades. Esto lo fijó para mí:
thin restart -e production --servers 3 --onebyone --wait 30
- 1. Implementación del tiempo de inactividad cero para aplicaciones Java
- 2. La conexión se bloquea después del tiempo de inactividad
- 3. Tiempo de espera de conexión después del período de inactividad
- 4. The logging.handlers: ¿Cómo reiniciar después del tiempo o maxBytes?
- 5. Cómo reiniciar los servidores individuales en el grupo delgada en los carriles 3.1 aplicación
- 6. ¿Qué tan cerca están los servidores web de desarrollo a los servidores web de producción?
- 7. Implementación de varios servidores
- 8. Despliegue de una aplicación sin anular la anterior y sin tiempo de inactividad?
- 9. Despliegue en caliente en Heroku sin tiempo de inactividad
- 10. Por qué mi Netbeans Xdebug agota el tiempo de espera de la sesión después del período de inactividad
- 11. Implementación de LRU en el código de producción
- 12. WPF: tiempo de inactividad de la aplicación
- 13. Cómo evitar el tiempo de inactividad durante la implementación AWS Elastic Beanstalk de una nueva versión de la aplicación?
- 14. Obtener inactividad/tiempo de inactividad en una aplicación WPF
- 15. Tiempo de inactividad de actividad para ActivityRecord
- 16. Adobe AIR aplicaciones de respuesta lenta después del tiempo de inactividad
- 17. Implementación de las primeras aplicaciones del código EF en la base de datos de producción
- 18. ¿Cómo reiniciar los raíles desde Rails?
- 19. Ocultar el cursor del mouse después de un tiempo de inactividad
- 20. MySql - crear replicación con tiempo de inactividad mínimo
- 21. Detección de inactividad del sistema
- 22. Escribir código de varios servidores
- 23. detectando el tiempo de inactividad usando python
- 24. Python + Tornado Reiniciar después de editar archivos
- 25. Reiniciar/Autorematar Mongodb en producción
- 26. La mejor manera de suprimir los errores de php en los servidores de producción
- 27. Cómo actualizar el URI del canal MPNS después de la inactividad de la aplicación
- 28. iPhone: La detección de inactividad de usuario/tiempo de inactividad desde el toque última pantalla
- 29. django-apio en el entorno de producción de varios servidores
- 30. VimScript: ¿hay un autocmd para una acción después del tiempo de inactividad?
He oído cosas buenas sobre Unicorn, voy a mirar en él. Gracias –
El combo Apache + Passenger no es una solución completa para reinicios continuos. Notará un retraso en el tiempo de respuesta cuando las instancias de pasajeros se reinicien. Las instancias de unicornio no comienzan a tomar la solicitud hasta que estén listas, lo que significa que sus usuarios ni siquiera deberían experimentar un retraso. –