我已经使用sbt-本机程序包Debian插件打包了我的Play应用程序。我使用典型的.deb文件安装了sudo dpkg -i tyrion_1.0-SNAPSHOT_all.deb文件。一旦我这样做,它就创建了守护进程用户和组,并按照以下步骤启动了这个过程:
aczerwon@vps57610:~/work/tyrion/target$ sudo dpkg -i tyrion_1.0-SNAPSHOT_all.deb
Selecting previously unselected package tyrion.
(Reading database ... 53135 files and directories currently installed.)
Preparing to unpack tyrion_1.0-SNAPSHOT_all.deb ...
Unpacking tyrion (1.0-SNAPSHOT) ...
Setting up tyrion (1.0-SNAPSHOT) ...
Creating system group: tyrion
Creating system user: tyrion in tyrion with tyrion user-daemon and shell /bin/false
tyrion start/running, process 30525
Processing triggers for ureadahead (0.100.0-16) ...我看到一个java进程运行在50% -这是疯狂的,因为应用程序应该是空闲的。我假设它使用的是application.conf配置,但当我试图访问该网站时,我会得到一个ERR_CONNECTION_REFUSED。
进程正在启动和停止
看着top,我现在看到CPU被固定住了,因为进程一次又一次地开始和停止。pid正在改变,VisualVM看不到它--它没有被列出。
发布于 2015-10-31 13:50:21
ERR_CONNECTION_REFUSED错误可能是由于play的配置错误造成的。见sbt-本机-packager文档和播放pid配置。
示例配置
javaOptions in Universal ++= Seq(
// Since play uses separate pidfile we have to provide it with a proper path
s"-Dpidfile.path=/var/run/${packageName.value}/play.pid",
// setting the http port explicitly
"-Dhttp.port=9000"
)对于较高的CPU利用率,我建议使用VisualVM或MissionControl对应用程序进行分析,看看到底发生了什么。
更新
对于play应用程序,PID文件必须命名为play.pid,否则将不会启动。
https://stackoverflow.com/questions/33416137
复制相似问题