【发布时间】:2015-11-23 16:03:40
【问题描述】:
我的项目部署有问题。到目前为止,我使用的是单个 playframework 应用程序,运行监听端口 80。 现在,我使用 Nginx 作为代理在同一服务器 2 中发布了应用程序。 Nginx 监听 80 端口,应用运行在 9001 和 9002 端口。
一切正常,但应用程序在开发模式下而不是在生产模式下运行,页面 404 不起作用,并且在 html 页面中我看到如下代码错误:“Action not found For request 'GET /asd ’”。 我使用以下命令运行应用程序:
myapp -Dhttp.port=9001 -Dconfig.file=conf/application.conf -Dlogger.file=/mydir/conf/application-logger.xml -Dpidfile.path=/mydir/daasy.pid -server
我将 playframework 2.4.3 与 scala 2.11.7 一起使用
更新: 我创建了一个引导类:
class onStartClass @Inject() (val app: Application)
{
println(app.mode)
}
app.mode 在 prod 中运行时返回“Prod”,使用端口 80 以及在端口 9001 中运行时。
但是,当在 9001 端口运行的应用程序无法在 404 页面运行时,网站会返回一个 playframework 错误页面。
【问题讨论】:
-
你如何打包/部署你的应用程序?
-
@Jean 和 dist,然后我把 zip 放到服务器上,解压并启动。
-
您可以使用 curl 检查您的两个应用程序是否在没有代理的情况下工作。只需指定端口 9001 或 9002,例如
curl http://youraddress.com:9001/asd. -
@Kris,是的,我可以,然后我做了一个测试。应用程序可以工作,但在开发模式下工作,我可以使用端口 9001 和 9002 访问。
-
@faster2b 抱歉,我无法理解。你说,你的 2 个应用在开发模式下运行良好,但在生产模式下却不行?
标签: scala playframework