Primero necesitas un servidor web. Suele ser Apache o nginx (pronunciado “engine-x”). El servidor web escucha en el puerto 80 (y / o el puerto 443 para https) luego enruta la solicitud al servidor de aplicaciones.
Hay varios servidores de aplicaciones diseñados para ejecutar aplicaciones Ruby. Los más populares son Passenger, Unicorn y Puma. Passenger es el más fácil de instalar y usar. Puma fue el más rápido. Ahora con la última versión de Passenger (5.0), ahora es la más fácil y la más rápida. Yo recomendaría usar Passenger.
Heroku maneja ambas cosas por ti.
- ¿Cómo funciona la arquitectura cliente - servidor?
- ¿Cómo ayuda una empresa de desarrollo de portal de viajes a las agencias de viajes?
- ¿Por qué un equipo de desarrollo debería elegir Node.js para aplicaciones web? ¿Es cierta clase de aplicaciones realmente más fácil para desarrolladores expertos con Node.js?
- ¿Cuáles son algunas buenas preguntas de encuesta para los usuarios que están evaluando una nueva aplicación web?
- ¿Cuáles son los obstáculos para hacer que las aplicaciones web sean tan buenas como las aplicaciones nativas?
Todos los servidores de aplicaciones que mencioné implementan el estándar Rack. El servidor de aplicaciones carga el config.ru (archivo “acumulado”) que especifica una clase que responde a un método de “llamada”, recibe un hash de opciones de solicitud y responde con una matriz de código de estado, encabezados http y la respuesta cuerpo. Sinatra maneja esta parte por usted, por lo que es tan simple como definir las rutas a las que desea responder.
El servidor de aplicaciones mantendrá la aplicación ejecutándose en la memoria hasta que detenga el servidor o lo reinicie. Entonces, durante el proceso de implementación, el código se actualiza y se le dice al servidor de aplicaciones que reinicie.