我有我想要部署(生产)在Windows Server 2008 R2上播放Framework 2.0应用程序。 我如何得到它作为服务运行?
Answer 1:
这为我工作在Windows 7上:
- 创建文件夹C:\程序my_app
去你玩游戏! 在命令行和类型的应用程序的文件夹
play dist
- 产生“的东西 - 快照”文件夹复制到C:\程序my_app
- 下载YAJSW并解压到C:\程序my_app
在C:\程序my_app \东西-SNAPSHOT \创建一个新的文件start.bat,然后用这样的命令填充它:
java -cp "C:\my_app\something-SNAPSHOT\lib\*" play.core.server.NettyServer
保存并推出的start.bat。 Google Play应用程式必须启动并像往常一样工作。 看看服务器的PID。 您将在下一步中使用它。
现在,使用命令提示符下进入C:\程序my_app \ yajsw \蝙蝠和类型
genConfig.bat < PID from previous step >
您生成的C:\程序my_app \ yajsw \的conf \ wrapper.conf。 编辑这个文件,并修改这些PARAMS像这样:
wrapper.ntservice.name=My App Name
wrapper.ntservice.displayname=My App Name
保存存档。终止你在6开始,然后显示start.bat脚本,在C:\程序my_app \ yajsw \蝙蝠推出
runConsole.bat
如果应用程序启动时,做一个Ctrl c
(和回答y)终止该批处理文件并进行下一步。要安装服务的推出( 以管理员身份运行 )
installService.bat
要启动服务的推出
startService.bat
现在你可以看到在Windows服务中的“我的应用程序名称”服务。 要停止服务,您可以使用stopService.bat
。 要卸载它uninstallService.bat
。
Answer 2:
你应该看看这个问题: 运行Java应用程序作为服务
你将不得不使用play dist
命令,然后调整start
,以在Windows上运行的脚本。
Answer 3:
如果你在第5步中的错误看起来是这样的:
Play server process ID is 1132
[info] play - database [default] connected at jdbc:h2:file:db/h2/play
[warn] play - Your production database [default] needs evolutions!
... bunch of SQL statements in the console ...
[warn] play - Run with -DapplyEvolutions.default=true if you want to run them automatically (be careful)
Oops, cannot start the server.
@6gme0o9k5: Database 'default' needs evolution!
然后,像这样运行,而不是命令:
java -cp "C:\my_app\something-SNAPSHOT\lib\*" -DapplyEvolutions.default=true play.core.server.NettyServer
米哈伊尔中所描述的过程中另外两个项目绊倒了我:
首先, 步骤9之前,请确保您终止在第6步开始的start.bat脚本。 不这样做导致我张贴在这里的悲痛:
如何部署玩Framework 2.0应用程序作为Windows服务,当我修复服务器糟糕错误?
最后,请确保您以管理员身份 ,当你打开你的DOS命令窗口中运行 。 当我在做我的部署我不能没有作为管理员身份运行installService.bat脚本。
Answer 4:
我们曾与困难start.bat
在这里其他的答案列出的方法。 两个主要的问题是缺乏引导的,当服务器决定重新启动本身周二补丁,并使用VBS等装饰,以防止需要保持命令窗口打开,以保持JVM活跃的要求。
我们曾用成功共享后台程序在生产环境中运行的Windows播放应用。
我们使用dist
打包分发的应用程序,然后安装与使用共享守护进程Windows服务。
Answer 5:
富勒新游戏版本,你可以使用sbt-native-packager
几乎自动准备安装和服务
http://www.scala-sbt.org/sbt-native-packager/formats/windows.html