openshift s2i_对Openshift上的Play Framework 2应用进行故障排除

openshift s2i

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 mylogin@openshift.com -p mysecretpass
将该窗口保持打开状态,以后将变得非常方便。
然后,我们将SSH到我们的远程计算机中。 只是发出:
rhc app show -a myapp -l mylogin@openshift.com -p mysecretpass
你会得到类似
Application Info
================
contactsFramework: diy-0.1Creation: 2012-04-19T14:20:16-04:00UUID: 0b542570e41b42e5ac2a255c316871bcGit URL: ssh://0b542570e41b42e5ac2a255c316871bc@myapp-mylogin.rhcloud.com/~/git/myapp.git/Public URL: http://myapp-mylogin.rhcloud.com/Embedded: None
在ssh后面的Git URL内容之后,登录到openshift机器:
ssh 96e487d1d4a042f8833efc696604f1e7@myapp-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.port=8080 -Dhttp.address=${OPENSHIFT_INTERNAL_IP} -Dconfig.resource=openshift.conf
去https://myapp-mylogin.rhcloud.com检查一下
如果一切正常,只需使用ctrl-c停止它,然后运行:
.openshift/action_hooks/start
您应该在控制台中看到带有日志文件的应用程序
现在,您可以使用ctrl-d从ssh会话注销,然后发出:
rhc app restart -a myapp -l mylogin@openshift.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.default=true" -Dhttp.port=8080 -Dhttp.address=127.11.189.129 -Dconfig.resource=openshift.conf
Play server process ID is 21226
[info] play - Application started (Prod)
[info] play - Listening for HTTP on port 8080...
希望本技巧对您有所帮助。 正如我所说的,我很期待开始使用Openshift Origin livecd,然后再告诉您。
在此期间,我将陪伴您与旧式Openshift火箭熊一起,我知道您也很想念他,那么为什么不让他回来呢?
参考:我们的JCG合作伙伴 Sebastian Scarano在Openshift 上的Playshift上对Play Framework 2应用程序进行故障排除 ,并与Play框架一起玩乐! 博客。

翻译自: https://www.javacodegeeks.com/2012/05/troubleshooting-play-framework-2-apps.html

openshift s2i

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/356167.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nginx下配置Http Basic Auth

nginx basic auth指令 第一条语句: 语法: auth_basic string | off;默认值: auth_basic off;配置段: http, server, location, limit_except 默认表示不开启认证,后面如果跟上字符,这些字符会在弹窗中显示。 第二条语句&#xff…

aopaspect区别_面试官:什么是AOP?Spring AOP和AspectJ的区别是什么?

面向切面的编程(AOP) 是一种编程范式,旨在通过允许横切关注点的分离,提高模块化。AOP提供切面来将跨越对象关注点模块化。AOP要实现的是在我们写的代码的基础上进行一定的包装,如在方法执行前、或执行后、或是在执行中出现异常后这些地方进行…

服务器多核性能排行,服务器内存多核性能

服务器内存多核性能 内容精选换一换本文介绍了弹性云服务器ECS的功能发布和对应的文档动态,新特性将在各个区域(Region)陆续发布,欢迎体验。关于弹性云服务器(ECS)更多历史版本变更内容,请单击“查看PDF”详细了解。超高I/O型弹性云服务器使用…

从去除毛刺的策略看开运算opening_circle和闭运算closing_circle的异同

例一:毛刺在往外凸的面上 策略1:分割出黑色部分,然后通过开运算去掉毛刺,再通过原黑色部分区域减去开运算之后的区域,得到毛刺部分的区域。 1 read_image (Tu, C:/Users/xiahui/Desktop/tu.jpg) 2 binary_threshold (…

买服务器带操作系统,买服务器带操作系统

买服务器带操作系统 内容精选换一换只有运行中的弹性云服务器才允许用户登录。Linux操作系统用户名“root”。忘记密码,请先通过“重置密码”功能设置登录密码。重置密码:选中待重置密码的云耀云服务器,并选择“操作”列下的“ 重置密码”。重…

自定义sql_【PL/SQL 自定义函数】 常用场景

看完这章后你会学习到以下内容:1.练习场景2.面试场景3.工作应用场景总览思维导图:面试部分:1.创建函数,从emp表中查询指定员工编号的职工的工资CREATE OR REPLACE FUNCTION CHECK_SAL(F_EMPNO IN EMP.EMPNO%TYPE) RETURN NUMBER ISV_SAL VARC…

让一个非窗口组件(non-windowed component)可以接受来自Windows的消息

为什么要这样做?有时候我们需要一个非窗口组件(比如一个非继承自TWinContrl的组件)可以接受Windows消息。要接受消息就需要一个窗口句柄,但是非窗口组件却没有句柄。这篇文章将讲述怎么让一个没有句柄的组件如何通过一个隐藏的窗口接受消息这是怎么做到的…

进阶– Java EE 7前端5强

系列继续。 在初步概述和Arjan关于最重要的后端功能的文章之后 ,我现在非常高兴让Ed Burns( edburns )使用他最喜欢的Java EE 7前端功能完成本系列。 感谢Markus Eisele让我有机会在他非常受欢迎的博客上发表帖子。 我和Markus的关系可以追溯…

一杯水怎么测试_一杯水就能鉴别翡翠真假的高招

大家好,小生有礼!鄙人是秋玉蝉珠宝的杨杨,很高兴能在茫茫互联网中相识就是有缘。先简单介绍一下秋玉蝉珠宝,我们是年轻的品牌,我们的理念一直秉承坚持做真翡翠,好翡翠,把握翡翠的精髓&#xff0…

214

python 进程:process 线程:thread转载于:https://www.cnblogs.com/jtlin/p/6397533.html

SpringBoot:与MyBatis合作

MyBatis是一个SQL映射框架,支持自定义SQL,存储过程和高级映射。 SpringBoot不为MyBatis集成提供官方支持,但MyBatis社区为MyBatis构建了SpringBoot入门程序。 您可以在http://blog.mybatis.org/2015/11/mybatis-spring-boot-released.html上…

wordpress房产信息网_Realia v3.1.2 wordpress房地产模板 租房网站模板

Product DescriptionRealia租赁门户模板。创造你自己的简单的方法房地产门户。教具支持dsidxpress WordPress插件和新的WP主题定制的API,它允许你做出实时的设计变化!你也可以选择20种颜色的变化,10的背景图案,3头的设置和盒装或全…

r语言dataellipse_r – 在ggplot2中微调stat_ellipse()

我想创建一个具有95%“精确”置信椭圆的二元正态分布的散点图.library(mvtnorm)library(ggplot2)set.seed(1)n c95 rho Sigma 我从双变量法线生成了1000个观测值,平均值为零,方差西格玛x z for(i in 1:n){z[i] p95[i] }我们可以使用stat_ellipse轻松地在生成数据的散…

openjpa_以编程方式向OpenJPA注册实体类型

openjpa我刚刚开始为Isis开发 OpenJPA对象库 。 在一般情况下,可以在persistence.xml文件中注册实体类型。 但是,Isis是一个框架,可以构建自己的元模型,并且可以自行确定哪些类构成实体。 因此,我不想强​​迫开发人员…

记录踩过的坑——代理IP

网络错误,查看是否有代理IP。转载于:https://www.cnblogs.com/dayang12525/p/6402068.html

php连接mysql_PHP连接MySQL数据库的三种方式

本篇文章给大家介绍一下PHP连接MySQL数据库的三种方式(mysql、mysqli、pdo),结合实例形式分析了PHP基于mysql、mysqli、pdo三种方式连接MySQL数据库的相关操作技巧与注意事项。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助…

使用Vert.x进行响应式开发

最近,似乎我们正在听到有关Java的最新和最好的框架的消息。 忍者 , SparkJava和Play等工具; 但是每个人都固执己见,使您感到您需要重新设计整个应用程序以利用它们的出色功能。 这就是为什么当我发现Vert.x时令我感到宽慰的原因。 Vert.x不是…

使用xtrabackup(innobackupex)实现MySQL的热备

mysql 的热备http://www.178linux.com/10139http://www.linuxidc.com/Linux/2014-04/99671.htmhttp://634871.blog.51cto.com/624871/1351049http://www.cnblogs.com/galengao/p/5755835.htmlhttp://heylinux.com/archives/3777.html 遇到问题,解决链接 http://blog…

mysql查看执行计划_MySql中如何使用 explain 查询 SQL 的执行计划

explain命令是查看查询优化器如何决定执行查询的主要方法。这个功能有局限性,并不总会说出真相,但它的输出是可以获取的最好信息,值得花时间去了解,因为可以学习到查询是如何执行的。1、什么是MySQL执行计划要对执行计划有个比较好…

vim的tab键设定

多在windows上编程的童鞋可能习惯于感受tab键为4个空格的长度,不过在linux系统中一般默认设定tab键为8个空格长度来显示。事实上tab也确实是8个空格的长度。不过由于习惯问题,某些童鞋还是希望在linux上也感受tab键为4个空格长度的显示,因为v…