Question

I use play framework 2.2.1

In development mode, when i try play run/start, it launches the play application with Jetty. However, when i package and deploy it in another machine and type the same command, it doesn't start any http server but use Play Server directly. How can i configure it so it will start with the same http server as in development?

Was it helpful?

Solution

Play uses Netty in both development and production modes.

The play run command is meant to execute the application in development mode.

For production, create a distribution with the play dist command. Then copy the generated zip file to the production host, extract it, and run the start script from the package's bin directory.

See:

This session log shows the process:

fernando@fernando-i7-mint ~/work/servicero/servicero-devops $ cd /tmp
fernando@fernando-i7-mint /tmp $ mkdir 0958
fernando@fernando-i7-mint /tmp $ cd 0958
fernando@fernando-i7-mint /tmp/0958 $ play new app1
       _
 _ __ | | __ _ _  _
| '_ \| |/ _' | || |
|  __/|_|\____|\__ /
|_|            |__/

play 2.2.2 built with Scala 2.10.3 (running Java 1.7.0_51), http://www.playframework.com

The new application will be created in /tmp/0958/app1

What is the application name? [app1]
> 

Which template do you want to use for this new application? 

  1             - Create a simple Scala application
  2             - Create a simple Java application

> 1
OK, application app1 is created.

Have fun!

fernando@fernando-i7-mint /tmp/0958 $ cd app1
fernando@fernando-i7-mint /tmp/0958/app1 $ play dist
[info] Loading project definition from /tmp/0958/app1/project
[info] Set current project to app1 (in build file:/tmp/0958/app1/)
[info] Packaging /tmp/0958/app1/target/scala-2.10/app1_2.10-1.0-SNAPSHOT-sources.jar ...
[info] Updating {file:/tmp/0958/app1/}app1...
[info] Done packaging.
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Wrote /tmp/0958/app1/target/scala-2.10/app1_2.10-1.0-SNAPSHOT.pom
[info] Main Scala API documentation to /tmp/0958/app1/target/scala-2.10/api...
[info] Compiling 5 Scala sources and 1 Java source to /tmp/0958/app1/target/scala-2.10/classes...
model contains 17 documentable templates
[info] Main Scala API documentation successful.
[info] Packaging /tmp/0958/app1/target/scala-2.10/app1_2.10-1.0-SNAPSHOT-javadoc.jar ...
[info] Done packaging.
[info] Packaging /tmp/0958/app1/target/scala-2.10/app1_2.10-1.0-SNAPSHOT.jar ...
[info] Done packaging.
[info] 
[info] Your package is ready in /tmp/0958/app1/target/universal/app1-1.0-SNAPSHOT.zip
[info] 
[success] Total time: 15 s, completed Apr 2, 2014 9:59:14 AM
fernando@fernando-i7-mint /tmp/0958/app1 $ ls -la target/universal/*.zip
-rw-r--r-- 1 fernando fernando 31442929 Abr  2 09:59 target/universal/app1-1.0-SNAPSHOT.zip
fernando@fernando-i7-mint /tmp/0958/app1 $ cd /tmp
fernando@fernando-i7-mint /tmp $ unzip 0958/app1/target/universal/app1-1.0-SNAPSHOT.zip 
Archive:  0958/app1/target/universal/app1-1.0-SNAPSHOT.zip
  inflating: app1-1.0-SNAPSHOT/lib/default.app1-1.0-SNAPSHOT.jar  
  inflating: app1-1.0-SNAPSHOT/lib/org.scala-lang.scala-library-2.10.3.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.typesafe.play.play-jdbc_2.10-2.2.2.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.typesafe.play.play_2.10-2.2.2.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.typesafe.play.sbt-link-2.2.2.jar  
  inflating: app1-1.0-SNAPSHOT/lib/org.javassist.javassist-3.18.0-GA.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.typesafe.play.play-exceptions-2.2.2.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.typesafe.play.templates_2.10-2.2.2.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.github.scala-incubator.io.scala-io-file_2.10-0.4.2.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.github.scala-incubator.io.scala-io-core_2.10-0.4.2.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.jsuereth.scala-arm_2.10-1.3.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.typesafe.play.play-iteratees_2.10-2.2.2.jar  
  inflating: app1-1.0-SNAPSHOT/lib/org.scala-stm.scala-stm_2.10-0.7.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.typesafe.config-1.0.2.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.typesafe.play.play-json_2.10-2.2.2.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.typesafe.play.play-functional_2.10-2.2.2.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.typesafe.play.play-datacommons_2.10-2.2.2.jar  
  inflating: app1-1.0-SNAPSHOT/lib/joda-time.joda-time-2.2.jar  
  inflating: app1-1.0-SNAPSHOT/lib/org.joda.joda-convert-1.3.1.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.fasterxml.jackson.core.jackson-annotations-2.2.2.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.fasterxml.jackson.core.jackson-core-2.2.2.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.fasterxml.jackson.core.jackson-databind-2.2.2.jar  
  inflating: app1-1.0-SNAPSHOT/lib/org.scala-lang.scala-reflect-2.10.3.jar  
  inflating: app1-1.0-SNAPSHOT/lib/io.netty.netty-3.7.0.Final.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.typesafe.netty.netty-http-pipelining-1.1.2.jar  
  inflating: app1-1.0-SNAPSHOT/lib/org.slf4j.slf4j-api-1.7.5.jar  
  inflating: app1-1.0-SNAPSHOT/lib/org.slf4j.jul-to-slf4j-1.7.5.jar  
  inflating: app1-1.0-SNAPSHOT/lib/org.slf4j.jcl-over-slf4j-1.7.5.jar  
  inflating: app1-1.0-SNAPSHOT/lib/ch.qos.logback.logback-core-1.0.13.jar  
  inflating: app1-1.0-SNAPSHOT/lib/ch.qos.logback.logback-classic-1.0.13.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.typesafe.akka.akka-actor_2.10-2.2.0.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.typesafe.akka.akka-slf4j_2.10-2.2.0.jar  
  inflating: app1-1.0-SNAPSHOT/lib/org.apache.commons.commons-lang3-3.1.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.ning.async-http-client-1.7.18.jar  
  inflating: app1-1.0-SNAPSHOT/lib/oauth.signpost.signpost-core-1.2.1.2.jar  
  inflating: app1-1.0-SNAPSHOT/lib/commons-codec.commons-codec-1.3.jar  
  inflating: app1-1.0-SNAPSHOT/lib/oauth.signpost.signpost-commonshttp4-1.2.1.2.jar  
  inflating: app1-1.0-SNAPSHOT/lib/org.apache.httpcomponents.httpcore-4.0.1.jar  
  inflating: app1-1.0-SNAPSHOT/lib/org.apache.httpcomponents.httpclient-4.0.1.jar  
  inflating: app1-1.0-SNAPSHOT/lib/commons-logging.commons-logging-1.1.1.jar  
  inflating: app1-1.0-SNAPSHOT/lib/xerces.xercesImpl-2.11.0.jar  
  inflating: app1-1.0-SNAPSHOT/lib/xml-apis.xml-apis-1.4.01.jar  
  inflating: app1-1.0-SNAPSHOT/lib/javax.transaction.jta-1.1.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.jolbox.bonecp-0.8.0.RELEASE.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.google.guava.guava-14.0.1.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.h2database.h2-1.3.172.jar  
  inflating: app1-1.0-SNAPSHOT/lib/tyrex.tyrex-1.0.1.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.typesafe.play.anorm_2.10-2.2.2.jar  
  inflating: app1-1.0-SNAPSHOT/lib/com.typesafe.play.play-cache_2.10-2.2.2.jar  
  inflating: app1-1.0-SNAPSHOT/lib/net.sf.ehcache.ehcache-core-2.6.6.jar  
  inflating: app1-1.0-SNAPSHOT/bin/app1  
  inflating: app1-1.0-SNAPSHOT/bin/app1.bat  
  inflating: app1-1.0-SNAPSHOT/conf/application.conf  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/index.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/index.js  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/package.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/Routes$.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/views/package.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/views/html/main$.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/views/html/index$.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/views/html/package.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/jquery.js  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/signaturebg.gif  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/class_big.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/package_big.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/tools.tooltip.js  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/template.js  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/filter_box_right.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/package.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/unselected.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/trait_to_object_big.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/index.css  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/filterboxbg.gif  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/constructorsbg.gif  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/filterboxbarbg.gif  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/object_diagram.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/diagrams.js  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/index.js  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/selected-right.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/jquery-ui.js  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/trait_big.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/ownerbg.gif  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/trait.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/selected2.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/signaturebg2.gif  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/ref-index.css  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/filterboxbarbg.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/selected2-right.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/object.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/object_big.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/type_big.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/arrow-right.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/selected.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/type.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/object_to_type_big.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/class.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/type_diagram.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/type_to_object_big.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/remove.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/object_to_class_big.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/fullcommenttopbg.gif  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/selected-right-implicits.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/defbg-green.gif  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/trait_diagram.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/filter_box_left2.gif  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/conversionbg.gif  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/modernizr.custom.js  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/object_to_trait_big.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/filterbg.gif  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/filter_box_left.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/ownderbg2.gif  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/ownerbg2.gif  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/navigation-li-a.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/class_to_object_big.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/jquery.layout.js  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/diagrams.css  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/navigation-li.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/defbg-blue.gif  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/template.css  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/valuemembersbg.gif  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/arrow-down.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/scheduler.js  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/selected-implicits.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/packagesbg.gif  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/typebg.gif  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/lib/class_diagram.png  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/controllers/ReverseAssets.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/controllers/routes.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/controllers/Application$.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/controllers/package.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/controllers/ReverseApplication.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/controllers/ref/ReverseAssets.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/controllers/ref/package.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/controllers/ref/ReverseApplication.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/controllers/javascript/ReverseAssets.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/controllers/javascript/package.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/controllers/javascript/ReverseApplication.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/index/index-v.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/index/index-s.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/index/index-c.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/index/index-a.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/index/index-r.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/index/index-f.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/index/index-h.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/index/index-i.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/index/index-d.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/index/index-m.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/index/index-j.html  
  inflating: app1-1.0-SNAPSHOT/share/doc/api/index/index-p.html  
  inflating: app1-1.0-SNAPSHOT/README  
fernando@fernando-i7-mint /tmp $ cd app1-1.0-SNAPSHOT/
fernando@fernando-i7-mint /tmp/app1-1.0-SNAPSHOT $ ls -la
total 28
drwxr-xr-x  6 fernando fernando 4096 Abr  2 10:00 .
drwxrwxrwt 14 root     root     4096 Abr  2 10:00 ..
drwxr-xr-x  2 fernando fernando 4096 Abr  2 10:00 bin
drwxr-xr-x  2 fernando fernando 4096 Abr  2 10:00 conf
drwxr-xr-x  2 fernando fernando 4096 Abr  2 10:00 lib
-rw-r--r--  1 fernando fernando  147 Fev 28 14:45 README
drwxr-xr-x  3 fernando fernando 4096 Abr  2 10:00 share
fernando@fernando-i7-mint /tmp/app1-1.0-SNAPSHOT $ ls -la bin
total 28
drwxr-xr-x 2 fernando fernando  4096 Abr  2 10:00 .
drwxr-xr-x 6 fernando fernando  4096 Abr  2 10:00 ..
-rwxr-xr-x 1 fernando fernando 11510 Abr  2 09:59 app1
-rw-r--r-- 1 fernando fernando  5732 Abr  2 09:59 app1.bat
fernando@fernando-i7-mint /tmp/app1-1.0-SNAPSHOT $ bin/app1
Play server process ID is 4582
[info] play - Application started (Prod)
[info] play - Listening for HTTP on /0:0:0:0:0:0:0:0:9000
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top