Playframework 如何将Play Framework 2.0应用程序作为Windows服务运行?

Playframework 如何将Play Framework 2.0应用程序作为Windows服务运行?,playframework,windows-server-2008,playframework-2.0,windows-server-2008-r2,Playframework,Windows Server 2008,Playframework 2.0,Windows Server 2008 R2,我有一个Play Framework 2.0应用程序,我想在Windows Server 2008 R2上部署(生产)。如何使其作为服务运行?您应该看看这个问题: 您必须使用playdist命令,然后调整start脚本,以便在Windows上运行。这对我在Windows 7上的工作非常有效: 创建文件夹C:\my\u应用程序 去看戏吧!命令行中的应用程序文件夹和类型 播放距离 将生成的“某物快照”文件夹复制到C:\my\u应用程序 下载并解压缩到C:\my\u应用程序 在C:\my\u app\

我有一个Play Framework 2.0应用程序,我想在Windows Server 2008 R2上部署(生产)。如何使其作为服务运行?

您应该看看这个问题:


您必须使用
playdist
命令,然后调整
start
脚本,以便在Windows上运行。

这对我在Windows 7上的工作非常有效:

  • 创建文件夹C:\my\u应用程序
  • 去看戏吧!命令行中的应用程序文件夹和类型

    播放距离

  • 将生成的“某物快照”文件夹复制到C:\my\u应用程序
  • 下载并解压缩到C:\my\u应用程序
  • 在C:\my\u app\something SNAPSHOT\中,创建一个新文件start.bat并用如下命令填充:

    java-cp“C:\my\u app\something SNAPSHOT\lib\*”play.core.server.NettyServer

  • 保存它并启动start.bat。您的play应用程序必须正常启动和工作。看看服务器的PID。您将在下一步中使用它

  • 现在使用命令提示符转到C:\my\u app\yajsw\bat并键入

    genConfig.bat

  • 您生成了C:\my\u app\yajsw\conf\wrapper.conf。编辑此文件并按如下方式更改这些参数:

    wrapper.ntservice.name=我的应用程序名
    wrapper.ntservice.displayname=我的应用程序名称


    保存文件

  • 终止您在6中启动的start.bat脚本。然后,在C:\my\u app\yajsw\bat启动中

    runConsole.bat


    如果应用程序启动,执行
    Ctrl c
    (并回答y)以终止批处理文件并继续下一步

  • 安装服务启动(以管理员身份运行)

    installService.bat

  • 启动服务启动

    startService.bat

  • 现在,您可以在Windows服务中看到“我的应用程序名称”服务。
    要停止服务,您可以使用
    stopService.bat
    。要卸载它,请执行以下操作:
    uninstallService.bat

    如果在步骤5中出现错误。如下所示:

    播放服务器进程ID为1132

    [info]播放-数据库[默认]连接在jdbc:h2:file:db/h2/play

    [warn]播放-您的生产数据库[default]需要改进

    。。。控制台中的一堆SQL语句

    [warn]play-Run with-DapplyEvolutions.default=true,如果要自动运行它们(请小心)

    Oops,无法启动服务器。

    @6gme0o9k5:数据库“默认”需要改进

    然后按如下方式运行命令:

    java-cp“C:\my\u app\something SNAPSHOT\lib\*”-DapplyEvolutions.default=true play.core.server.NettyServer

    Mikhail描述的过程中的另外两个项目让我绊倒了:

    首先,在步骤9.之前,请确保终止在步骤6中启动的start.bat脚本。。不这样做造成了我在这里发布的悲痛:


    最后,请确保在打开DOS命令窗口时以管理员身份运行。在我进行部署时,如果没有管理员身份,我无法运行installService.bat脚本。

    我们无法使用此处其他答案中列出的
    start.bat
    方法。两个主要问题是,当服务器决定在补丁程序星期二重新启动时,缺乏引导,以及需要使用VBS和其他装饰,以防止需要保持命令窗口打开以保持JVM活动

    我们已经成功地在生产环境中使用在Windows上运行播放应用程序


    我们使用
    dist
    打包应用程序以进行分发,然后使用Commons守护程序作为Windows服务安装

    对于较新的play版本,您可以使用几乎自动准备安装程序和服务的
    sbt native packager


    清除信息,就像它一样,另外我建议将
    正在运行的\u PID
    文件重命名为其他文件,以防止服务器突然重启后出现启动问题,()