1

我创建了一个本地 swift kitura 应用程序,它在本地运行良好。但是当我将它推送到 bluemix 时,实例开始运行,然后失败。 在此处输入图像描述

4

1 回答 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 回答