我创建了一个本地 swift kitura 应用程序,它在本地运行良好。但是当我将它推送到 bluemix 时,实例开始运行,然后失败。
问问题
124 次
1 回答
1
由于我看不到您的源代码,因此很难准确判断。但这可能是因为您没有监听 Bluemix 分配给您的端口。
do {
let port = try CloudFoundryEnv.getAppEnv().port
Log.verbose("Assigned port is \(port)")
Kitura.addHTTPServer(onPort: port, with: controller.router)
Kitura.run()
} catch CloudFoundryEnvError.InvalidValue {
Log.error("Oops... something went wrong. Server did not start!")
}
发生的情况是,尽管在本地运行时始终监听 8090(例如)工作正常,但 Bluemix 会分配一个端口供您监听,并且端口转发器会将流量从 443 引导到该分配的端口。Bluemix 在部署期间将检查是否有东西在侦听端口,如果它未能通过此运行状况检查,则假定部署失败。
于 2016-11-19T16:14:21.807 回答