在 Ubuntu 14.04 生产服务器上部署 Play Framework 2.3.x(Java 样式)
Deploying Play Framework 2.3.x (Java style) on Ubuntu 14.04 production server
我的笔记本电脑上有一个 Play 应用程序,我正试图在我的生产服务器上安装它 运行。应用程序在本地编译和运行没有错误。
在我的生产服务器上,我执行以下操作:
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#
如您所见,`compiler-interface' 尚未编译。我想知道这是为什么。是因为我没有安装Scala编译器吗?
可能 Killed
部分是因为您没有足够的内存来编译您的应用程序。
无论哪种方式,我认为部署已编译的应用程序比就地编译它更好。您可以使用 ./activator dist
.
这将在 YOUR_PROJECT_DIR/target/universal
中生成一个名为 YOUR-PROJECT-NAME-VERSION.zip
的 zip 文件,其中包含已编译的所有内容以及已打包的所有需要的依赖项。然后,您可以将此文件上传到生产服务器中的某个位置,解压缩,然后使用
启动服务器
$ EXTRACTED_FOLDER/bin/YOUR-APP-NAME
如果您仍想在生产服务器中构建它,请尝试使用
减少激活器使用的内存
$ ./activator -mem 200 # MAX 200mb
// (...)
[PROJECT-NAME] ~start
请注意 ~run
将以开发模式启动您的服务器(即错误时可以显示堆栈跟踪等敏感信息)并在更改时重新编译它,因此您可能需要使用 start
或~start
相反。
我的笔记本电脑上有一个 Play 应用程序,我正试图在我的生产服务器上安装它 运行。应用程序在本地编译和运行没有错误。
在我的生产服务器上,我执行以下操作:
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#
如您所见,`compiler-interface' 尚未编译。我想知道这是为什么。是因为我没有安装Scala编译器吗?
可能 Killed
部分是因为您没有足够的内存来编译您的应用程序。
无论哪种方式,我认为部署已编译的应用程序比就地编译它更好。您可以使用 ./activator dist
.
这将在 YOUR_PROJECT_DIR/target/universal
中生成一个名为 YOUR-PROJECT-NAME-VERSION.zip
的 zip 文件,其中包含已编译的所有内容以及已打包的所有需要的依赖项。然后,您可以将此文件上传到生产服务器中的某个位置,解压缩,然后使用
$ EXTRACTED_FOLDER/bin/YOUR-APP-NAME
如果您仍想在生产服务器中构建它,请尝试使用
减少激活器使用的内存$ ./activator -mem 200 # MAX 200mb
// (...)
[PROJECT-NAME] ~start
请注意 ~run
将以开发模式启动您的服务器(即错误时可以显示堆栈跟踪等敏感信息)并在更改时重新编译它,因此您可能需要使用 start
或~start
相反。