我正在尝试在CloudBees中部署云端的Play 2应用程序。 我按照CloudBees文档中的说明进行操作。 创建数据库(mysql)并部署应用程序。看看配置,一切似乎都很好
应用程序:pareeje / playconfig 标题:pareeje / playconfig 创建时间:Sun Jan 05 11:05:06 IST 2014 状态:有效 网址:playconfig.pareeje.cloudbees.net clusterSize:1 container:java_free containerType:play2 hibernateTimeout:21600 maxMemory:256 proxyBuffering:false securityMode:PUBLIC serverPool:stax-global(Stax Global Pool)
但是当我尝试运行该应用程序时,它无法说明 502 Bad Gateway和日志显示 - 应用程序未运行。
我不知道我哪里错了。是否有任何链接,通过一个真实的例子逐步解释该过程。这可能有助于我继续。
感谢。
答案 0 :(得分:1)
您已在日志中看到"应用程序未运行"因为您在应用程序休眠时查看了日志。如果你唤醒你的应用程序,例如只是向http://playconfig.pareeje.cloudbees.net/发出新请求,你会看到你的日志告诉你一些不同的东西。事实上,你应该看到这样的事情:
Caused by: java.sql.SQLException: No suitable driver found for jdbc:jdbc:mysql://***********.compute-1.amazonaws.com/playconferance
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.jolbox.bonecp.BoneCP.obtainRawInternalConnection(BoneCP.java:363)
at com.jolbox.bonecp.BoneCP.<init>(BoneCP.java:416)
at com.jolbox.bonecp.BoneCPDataSource.getConnection(BoneCPDataSource.java:120)
at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:245)
... 22 more
所以我认为这意味着您的申请存在问题。我们有一个play2应用程序示例,可以帮助您进行设置。见here。
在application.conf文件中你应该有这样的东西:
# Database configuration
# ~~~~~
# You can declare as many datasources as you want.
# By convention, the default datasource is named `default`
#
# db.default.driver=org.h2.Driver
# db.default.url="jdbc:h2:mem:play"
# db.default.user=sa
# db.default.password=
db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:"${DATABASE_URL_DB}
db.default.user=${DATABASE_USERNAME_DB}
db.default.password=${DATABASE_PASSWORD_DB}
db.default.maxConnectionsPerPartition=10
db.default.partitionCount=2
对于Play 2应用程序,您应遵循的步骤非常简单。
创建空白应用程序
$ bees app:create -t play2 -a appName
创建数据库
$ bees db:create dbName
将应用程序绑定到数据库
$ bees app:bind -a appName -db dbName -as mydb
部署您的应用程序
$ bees app:deploy -a appName -t play2 PATH_TO_WAR_FILE.zip
应用程序配置:
# Database configuration
# ~~~~~
# You can declare as many datasources as you want.
# By convention, the default datasource is named `default`
#
# db.default.driver=org.h2.Driver
# db.default.url="jdbc:h2:mem:play"
# db.default.user=sa
# db.default.password=
db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:"${DATABASE_URL_DB}
db.default.user=${DATABASE_USERNAME_DB}
db.default.password=${DATABASE_PASSWORD_DB}
db.default.maxConnectionsPerPartition=10
db.default.partitionCount=2
答案 1 :(得分:0)
非常感谢user3164975。最后,我能够在Cloudbees中部署我的应用程序,感觉很棒。 我还提供了一份非常简洁的文件 http://ics-software-engineering.github.io/play-example-mysql/
这份文件和你的建议对我帮助很大! 再次感谢!
我的第一个应用程序在云端:) :)!