1

我创建了一个基于 Scala Play 框架 2 的 Web API。过去,我使用 SBT 插件生成了war文件,以便使用 Tomcat 在生产中进行部署。现在可以使用 SBT 原生打包器插件从 Play 项目构建原生包。我用它从我的网络应用程序生成一个 debian 包。

但是,我不明白它是如何工作的。我可以生成并安装 debian 包并启动守护程序,但我的 API 似乎没有监听请求。

在第一种情况下,Tomcat 托管包含 Play 应用程序并管理 HTTP 连接的 war 文件。我觉得我的 debian 包中缺少一些部分,以便像Tomcat 下的war文件一样正常工作。

问题是,如何使用本机打包程序插件来部署独立的 HTTP API?什么负责处理 HTTP 连接?我的项目缺少什么?

提前致谢

4

1 回答 1

1

Play 应用程序使用它们自己的轻量级 http 服务器运行。

构建独立项目问题

sbt dist

或者如果您使用激活剂

activator dist

这使得目录target/universal/your-app.zip

如果您解压缩内容,您会发现一个独立的应用程序结构

/bin
/lib
/conf
/share

您可以在其中找到启动服务器的 shellscript

bin/your-app
bin/your-app.bat (windows)

对战争文件的分发似乎已从播放中删除。这里提出了类似的问题: 将 play 作为一个 war 文件部署到一个 servlet 容器中,即使它大量使用 JPA?

于 2015-02-16T22:15:21.620 回答