2016-08-01 1 views
0

나는 Heroku의 무료 dyno에 노드 응용 프로그램을 배포했습니다. 이 응용 프로그램은 완벽하게 로컬로 작동합니다.nodemon과 함께 Heroku에 노드 응용 프로그램이 임의로 충돌 함

Heroku에서 앱이 성공적으로 배포 한 것 같습니다. 웹 사이트를 방문하거나 heroku open을 사용하면 배포 직후에 git push heroku master을 사용하여 작동하는 웹 사이트를 제공하는 것으로 보입니다.

불행히도, 일반적으로 몇 분 후 앱이 다운됩니다. 다음과 같은 메시지가 표시 : 명령 heroku logs --tail을 사용하여 로그를 확인해 볼 때

enter image description here

, 나는 다음과 같은 오류를 참조하십시오.

enter image description here

편집 됨 정보는 올바른 서버 접속 정보를 나타낸다. 사이트가 작동 중일 때 데이터베이스의 올바른 데이터를 표시합니다.

문제 내가 겪고있는 것은이 겉으로보기에 임의의 오류가 어디서 오는지 알 수 없다는 것입니다. MySQL과 연결하는 것과 관련이 있다고 생각합니다. 그러나 앱이 다시 시작되거나 처음에 다시 연결하려고하는 이유를 알지 못합니다.

또한 서버 실행 스크립트를 node lib/application.js으로 변경했으며 같은 오류가 다시 나타납니다.

이 오류의 출처, 사용할 다른 heroku 구성 등에 관한 정보는 극명하게 평가할 수 있습니다.

내 npm 스크립트는 다음과 같습니다. 빌드, 감시 또는 클린 스크립트가 서버에서 실행되고 있지 않습니다. 당분간은 배포하기 전에 구축하고 있습니다.

"scripts": { 
    "start-local": "nodemon --debug lib/application.js --ignore lib", 
    "start": "nodemon --debug lib/application.js --ignore lib", 
    "watch": "npm run clean:css && npm run watch:css & npm run watch:js", 
    "build:js": "babel src -d lib", 
    "watch:js": "nodemon --watch src --exec npm run build:js", 
    "build:css": "stylus -u nib res/styles/src/index.styl -o res/styles/lib", 
    "watch:css": "stylus -u nib res/styles/src/index.styl -o res/styles/lib -w", 
    "clean:css": "rm -rf res/styles/lib && mkdir -p res/styles/lib" 
    }, 

application.js에서 실행되고있는 코드는 여기에서 찾을 수 있습니다 : http://pastebin.com/4zvBaHK0

+0

mysql 서버가 연결을 종료 할 수 있습니다.이 링크는 도움이 될 수 있습니다. http://stackoverflow.com/questions/20210522/nodejs-mysql-error-connection-lost-the-server-closed-the-connection – JagsSparrow

답변

0

이 임의의 충돌하지 않습니다 - MySQL의에 대한 연결이 닫힐 때 응용 프로그램이 충돌한다. 앱에 데이터베이스 재 연결 논리가 필요합니다.

+0

처리 할 수 ​​있습니까? MySQL은 연결 풀링없이 노드에서 연결을 끊는가? – Connorelsea

관련 문제