2014-07-22 6 views
1

opensshift에서 express를 4.2.0으로 업데이트하려고 시도 할 때마다 503 오류가 발생합니다. 이 문제를 해결하는 방법에 대한 아이디어가 있습니까? 내가했던 모든 일은 NodeJS 응용 프로그램을 만들어 MongoDB 카트리지를 추가하고 ssh를 사용하여 package.json을 4.2.0으로 변경하고 npm install을 실행하도록 업데이트합니다. 응용 프로그램을 다시 시작한 후 웹 페이지에서 503을 얻습니다. opensshift가 ExpressJS 버전 4를 지원합니까?OpenShift의 ExpressJS 4 문제

+0

수동 업데이트를 수행했을 때 응용 프로그램이 제대로 다시 시작되지 않았을 가능성이 있습니다. 앱을 다시 시작하고 앱이 다시 연결되는지 확인합니다. – niharvey

+0

@Ehci, 코드가 3.x에서 4.x로 이식되지 않았을 가능성이 있음 – Ben

답변

0

동일한 문제가 발생합니다. 특급 4.9.8을 사용하여, 나는 로컬 잘 실행할 수 있지만, OpenShift에 배포 후 실행하려고 할 때 다음과 같은 얻을 :

==> app-root/logs/nodejs.log-20150224074926 <== 
}; 
mixin(app, proto); 
mixin(app, EventEmitter.prototype); 
app.request = { __proto__: req, app: app }; 
app.response = { __proto__: res, app: app }; 
app.init(); 
return app; 
} has no method 'createServer' 
    at self.initializeServer (/var/lib/openshift/54e8fbd85973ca16e40000d6/app-root/runtime/repo/server.js:116:28) 
    at self.initialize (/var/lib/openshift/54e8fbd85973ca16e40000d6/app-root/runtime/repo/server.js:134:14) 

==> app-root/logs/nodejs.log-20150224095524 <== 
    app.handle(req, res, next); 
}; 
mixin(app, proto); 
mixin(app, EventEmitter.prototype); 
app.request = { __proto__: req, app: app }; 
app.response = { __proto__: res, app: app }; 
app.init(); 
return app; 
} has no method 'createServer' 
at self.initializeServer (/var/lib/openshift/54e8fbd85973ca16e40000d6/app-root/runtime/repo/server.js:116:28) 

나는 OpenShift 익스프레스의 최신 버전을 지원하지 않는다는 인상을 얻을.

+0

실제로이 코드를 사용할 수 있었지만 코드에서 문제가되었습니다. 나는이 오류를 꼬리에 넣을 때 로그를 얻지 만 분명히 아무것도 아니었다. –

0

OpenShift 기본 코드를 사용하여 Express3에서 내 응용 프로그램을 시작하고 OpenShift (행복한, 행복)로 푸시 한 다음 로컬에서 Express4를 다시 작성하여 동일한 문제가 발생했다고 지역에서 결정했습니다. 제 책상 위에 머리가 많이 박혔습니다.

할 수있는 방법이 있는지 잘 모르겠지만 계속 유지하려면/bin/www 접근 방식을 사용할 수 없습니다. 모든 코드를 다시 /server.js로 옮기고/bin/www를 폐기하고 package.start와 main 변수를 package.json에서 편집하고 결국 성공적이었습니다.

package.json exerpt: 
... 
    "scripts": { 
    "start": "node server.js" // Was "npm start" 
}, 
"main": "server.js" 

그러면 원격 푸시/빌드가 작동합니다. 로컬 사용자는 "npm start"로 시작합니다.

+0

package.json에서 "main"을 추가하기 전에 ip와 port (분명히)를 기대하지 않고 응용 프로그램을 시작하지 않았습니다. evrything이 좋다면 "main"이 중요합니다. – devprashant