Pregunta

¿Cuál es la forma preferida de implementar aplicaciones compojure/sinatra?Tengo varios sitios ejecutándose en el host, por lo que no puedo ejecutar jetty/mongrel en el puerto 80.¿Cómo debo manejar múltiples sitios/aplicaciones ejecutándose en el mismo host?

¿Fue útil?

Solución

Utilice un servidor web como apache que se ejecuta en el puerto 80 y utiliza anfitriones virtuales para dirigir el tráfico al servidor de aplicaciones correcto.Básicamente, ejecutaría cada servidor de aplicaciones (embarcadero/mestizo, etc.) en un puerto diferente y luego en cada host virtual tendría una configuración diferente para usar algo como proxy mod para reenviar el tráfico al servidor de aplicaciones.Podría utilizar un servidor web diferente, como luztpd o nginx.Para la aplicación Sinatra también puedes mirar Phusion Passenger, también conocido como mod rails, también conocido como mod rack, que teóricamente funciona con cualquier aplicación rack, aunque solo lo he usado con Rails.

Si lo analiza un poco más, encontrará que existen varios esquemas para reenviar tráfico al servidor de aplicaciones desde un servidor web, pero el mecanismo básico para hacer este tipo de cosas siempre se reduce a tener un servidor web que escuche en el puerto. 80 que utiliza hosts virtuales basados ​​en nombres para luego reenviar el tráfico a la aplicación adecuada.

Otros consejos

He estado haciendo este tipo de cosas con varios servidores independientes (por ejemplo, AllegroServe) durante años. He encontrado la mejor manera de ser:

  • Ejecutar cada servidor en un puerto diferente, no privilegiado (tal como 8080)
  • Ejecutar pound (o Nginx, etc.) en el 80, configurado para asignar solicitudes a cada aplicación.

Libra es grande, y las configuraciones terminan muy simple (a diferencia de Nginx). También hará frente SSL e higienización de HTTP para usted, que lleva la carga de la aplicación.

Utilice pasajeros! http://modrails.com - es un plug-in para Apache y Nginx que le permite (muy) ejecutar fácilmente un rubí aplicación como una máquina virtual

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top