大埔县住房和城乡规划建设局网站,公明网站制作,宁波seo推广服务电话,品牌vi公司Openshift故障排除 使用“ 自己动手”应用程序类型#xff0c;您实际上可以有很大的自由度来支持几乎可以在Linux机器上构建和运行的任何框架或服务器。 但是您必须做功课#xff0c;并做一些研究。 因此#xff0c;在本文中#xff0c;我将向您展示一些我在使用Openshift和… Openshift故障排除 使用“ 自己动手”应用程序类型您实际上可以有很大的自由度来支持几乎可以在Linux机器上构建和运行的任何框架或服务器。 但是您必须做功课并做一些研究。 因此在本文中我将向您展示一些我在使用Openshift和Play Framework方面学到的技巧。 欢迎发表评论所以我希望您也可以向我提供更多提示以帮助我们所有人在云上运行我们的应用程序。 为播放框架应用程序提供本机支持 目前我们发现用于在openshift上部署Play 2.0应用程序的解决方案非常方便但是我们可以做得更好。 问题是我们必须在本地编译该应用程序发出play stage 然后将30 MB的库推入Openshift。 理想的事情就是使用Play 1.x快速入门和适用于Play Framework 1.x的Openshift模块的最新版本进行的工作就是上传我们的源代码然后让Openshift下载并安装Play编译我们的应用程序然后启动它。 不幸的是我们遇到了一些内存限制似乎编译Play 2应用程序有点内存需求最终导致了一些问题。 我们正在努力解决它们但是也许有了这些技巧您可以帮助解决问题。 通过Openshift的开源和新的Origin livecd我们可以使用更多工具来进一步研究正在发生的事情我只是没有时间开始玩它。 因此chat不休让我们动手吧。 休斯顿我们有一个问题 好的您刚刚阅读了本指南或者使用Play 2.0快速入门在Play Framework网络研讨会上按照我们的步骤进行了操作实际上其中一些技巧将有助于排除在Openshift上运行的任何应用程序的故障并且出现了问题。 首先看看日志。 刚发行 rhc app tail -a myapp -l myloginopenshift.com -p mysecretpass 将该窗口保持打开状态以后将变得非常方便。 然后我们将SSH到我们的远程计算机中。 只是发出 rhc app show -a myapp -l myloginopenshift.com -p mysecretpass 你会得到像 Application InfocontactsFramework: diy-0.1Creation: 2012-04-19T14:20:16-04:00UUID: 0b542570e41b42e5ac2a255c316871bcGit URL: ssh://0b542570e41b42e5ac2a255c316871bcmyapp-mylogin.rhcloud.com/~/git/myapp.git/Public URL: http://myapp-mylogin.rhcloud.com/Embedded: None 在ssh后面的Git URL内容之后登录到openshift机器 ssh 96e487d1d4a042f8833efc696604f1e7myapp-mylogin.rhcloud.com 如果您像我一样懒惰请继续投票以更轻松地将其转换为openshift 打开另一个命令窗口将ssh切换到openshift并运行诸如“ top”或“ watch -n 2 free -m”之类的内容来监视内存使用也是一个好主意。 排除播放故障 您知道一个古老的座右铭“编写一次到处运行”……好吧它只是“应该”工作但以防万一您可以尝试使用与在openshift上运行的JDK版本相同的JDK版本来编译您的应用程序。 赶紧跑 java -version
java version 1.6.0_22
OpenJDK Runtime Environment (IcedTea6 1.10.6) (rhel-1.43.1.10.6.el6_2-i386)
OpenJDK Server VM (build 20.0-b11, mixed mode) 并在您的盒子上安装相同的jdk版本。 然后编译您的应用并重新部署您可以使用便捷脚本openshift_deploy 如果那不起作用请尝试在Openshift上手动完成整个过程。 您应该执行以下操作 # download play
cd ${OPENSHIFT_DATA_DIR}
curl -o play-2.0.1.zip http://download.playframework.org/releases/play-2.0.1.zip
unzip play-2.0.1.zip
cd ${OPENSHIFT_REPO_DIR}#stop app
.openshift/action_hooks/stop#clean everything - watch for errors, if it fails retry a couple more times
${OPENSHIFT_DATA_DIR}play-2.0.1/play clean 如果您得到以下信息 /var/lib/stickshift/0b542570e41b42e5ac2a255c316871bc/myapp/data/play-2.0.1/framework/build: line 11: 27439 Killed 这意味着它不幸失败了这是我告诉过您的内存问题 这是一个很糟糕的错误您还会松开命令提示符。 只是盲目地输入“ reset”并按Enter您将得到提示。 然后再试一次... 您可能还会收到以下消息 This project uses Play 2.0!
Update the Play sbt-plugin version to 2.0.1 (usually in project/plugins.sbt) 这意味着您使用Play 2.0创建了该应用现在正尝试使用其他版本进行编译。 只需更新project / plugins.sbt文件或下载适当的版本。 现在编译并上演您的应用程序。 #compile everything - watch for errors, if it fails retry a couple more times
${OPENSHIFT_DATA_DIR}play-2.0.1/play compile#stage - watch for errors, if it fails retry a couple more times
${OPENSHIFT_DATA_DIR}play-2.0.1/play stage 然后运行它不要害羞看看quickstart repo上的action hooks脚本 。 target/start -Dhttp.port8080 -Dhttp.address${OPENSHIFT_INTERNAL_IP} -Dconfig.resourceopenshift.conf 在https://myapp-mylogin.rhcloud.com上进行检查 如果一切正常请使用ctrl-c停止它然后运行 .openshift/action_hooks/start 您应该在控制台中看到带有日志文件的应用程序 现在您可以使用ctrl-d从ssh会话注销然后发出 rhc app restart -a myapp -l myloginopenshift.com -p mysecretpass 你应该看到类似 Stopping play application
Trying to kill proccess, attempt number 1
kill -SIGTERM 19128
/var/lib/stickshift/0b542570e41b42e5ac2a255c316871bc/openbafici/repo/target/start -DapplyEvolutions.defaulttrue -Dhttp.port8080 -Dhttp.address127.11.189.129 -Dconfig.resourceopenshift.conf
Play server process ID is 21226
[info] play - Application started (Prod)
[info] play - Listening for HTTP on port 8080... 希望本技巧对您有所帮助。 正如我所说的我很期待开始使用Openshift Origin livecd然后再告诉您。 在此期间我将陪伴您与老旧的Openshift Rocket Bear陪伴我知道您也想念他那么为什么不让他回来呢 参考 故障排除播放框架上Openshift 2个应用程序从我们JCG伙伴塞巴斯蒂安斯卡拉诺在享受乐趣与游戏框架 博客。 翻译自: https://www.javacodegeeks.com/2012/05/troubleshooting-play-framework-2-apps.html