2011-06-26 34 views
13

Después del comando play run, ¿cómo se inicia Play como host en la máquina? ¿Funciona Apache, Tomcat o tal detrás de las escenas?Implementando una Play! Aplicación Framework

Si quiero que mi aplicación (creada con play! Framework) se aloje en, por ejemplo, apache, ¿será una tarea fácil?

+1

Como se menciona en las respuestas, el juego se puede utilizar junto con la configuración de Apache como un proxy inverso (vea poner su aplicación en producción), o como ejecutarse de forma independiente con el servidor de netty incluido en Play !. Si las respuestas satisfacen su pregunta, acepte una de ellas. – emt14

Respuesta

11

Play normalmente se ejecuta utilizando su propio servidor, la clase play.server.Server. Acceder a una aplicación Play a través de otro servidor como Apache nunca será más rápido que acceder al servidor Play directamente, pero si desea hacerlo por otros motivos, consulte Put your application in production.

+0

¿Cómo puedo invocar este servidor desde mi código Java/Scala? (sin usar Play) – Jus12

14

Funciona netty detrás de escena. Si desea alojar debajo de un contenedor de servlets como Tomcat o embarcadero, acaba de hacer esto desde su carpeta de proyecto:

play war -o /tmp 

y verá archivo de la guerra de su proyecto en la carpeta /tmp. Colóquelo bajo la carpeta webapps de Tomcat o Jetty y debería estar listo. Puedes poner en primer plano el contenedor de servlets con Apache/httpd tal como lo harías con esa configuración (es decir, el hecho de que tu guerra provenga de Playframework no hará ninguna diferencia en la parte del front-end).

5

Para mayor claridad, a partir de play2 ya no hay ningún soporte oficial para empaquetar su proyecto como un archivo de guerra y además no parece que el soporte volverá pronto.

Play2 ahora viene con su propio servidor web basado en Netty y para desplegar puede usar "play stage" para empaquetar su proyecto y ejecutarlo en su lugar usando el comando "target/start".

Si va a alojar su proyecto en un servidor sin Play2 instalado, simplemente use primero el comando "etapa de compilación sbt" que agrupará las dependencias necesarias para usted.

Sin embargo, hay un esfuerzo extraoficial en https://github.com/dlecan/play2-war-plugin si todavía está interesado en implementarlo en un contenedor Servlet 3.0 o 2.5 (Tomcat 6/7, Jetty 7/8/9, JBoss 5/6/etc) No lo he usado personalmente pero he escuchado cosas buenas sobre eso.