Tim Visser
Tim Visser

Reputation: 919

Deploying Play Framework 2.3.x (Java style) on Ubuntu 14.04 production server

I have a Play application on my laptop, which I am trying to get running on my production server. Locally the application compiles and works without errors.

On my production server, I do the following:

root@example:~/mysite# ./activator
[info] Loading project definition from home/mysite/project
[info] Set current project to mysite (in build file:/home/mysite/)
[mysite] $ ~run

--- (Running the application, auto-reloading is enabled) ---

[info] play - Listening for HTTP on /0:0:0:0:0:0:0:0:9000

(Server started, use Ctrl+D to stop and go back to the console...)

[info] Compiling 4 Scala sources and 2 Java sources to /home/mysite/target/scala-2.11/classes...
[info] 'compiler-interface' not yet compiled for Scala 2.11.1. Compiling...
Killed
root@example:~/mysite#

As you can see, `compiler-interface' is not yet compiled. I am wondering why this is. Is this because I don't have the Scala compiler installed?

Upvotes: 1

Views: 630

Answers (1)

Salem
Salem

Reputation: 12986

Probably the Killed part is because you don't have enough memory to compile your application.

Either way I think it would be better to deploy your app already compiled than compile it on place. You can do that using ./activator dist.

This will generate a zip file in YOUR_PROJECT_DIR/target/universal named YOUR-PROJECT-NAME-VERSION.zip with everything already compiled and with every needed dependency packaged already. You can then upload this file to somewhere in your production server, extract it and then start the server using

$ EXTRACTED_FOLDER/bin/YOUR-APP-NAME

If you still want to build it in your production server, try to reduce the memory used by activator using

$ ./activator -mem 200 # MAX 200mb
// (...)
[PROJECT-NAME] ~start

Note that ~run will start your server in dev mode (ie sensible information like stacktraces etc can be shown on error) and recompile it on changes, so you may want to use start or ~start instead.

Upvotes: 5

Related Questions