openshift s2i_对Openshift上的Play Framework 2应用进行故障排除
生活随笔
收集整理的這篇文章主要介紹了
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
總結
以上是生活随笔為你收集整理的openshift s2i_对Openshift上的Play Framework 2应用进行故障排除的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓出的手机叫什么名字(安卓出的手机)
- 下一篇: 手机版ddos攻击器(ddos攻击器手机