2016-11-19 3 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를 추가하면 문제가 해결되었습니다. 고마워. –