2016-11-19 103 views

回答

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将检查端口上是否有监听的内容,如果此健康检查失败,则会假定部署失败。

+0

我实际上已经提到你的教程https://www.youtube.com/watch?v=xEStdmwFVBg来设置我的本地Kitura,因为我想从基础开始。我对Swift Kitura很新,所以你可以指导我实现CloudFoundryEnv的教程吗? –

+1

哦,非常好,很高兴我的教程很有帮助。我认为这个软件包有很好的文档记录,如果你想看看这个,[Swift-cfenv](https://github.com/IBM-Swift/Swift-cfenv)。看看我们的一些例子,比如[TodoList](https://github.com/IBM-Swift/TodoList-CouchDB/),确保你有一个manifest.yml和一个Procfile。 –

+0

添加CloudFoundryEnv修复了这个问题。非常感谢。 –