첫 번째 Heroku 배포 실패 '오류 코드 =H10''
저는 Heroku에 앱을 배포했습니다. +.io 은 "node.js + express + socket.io "입니다.package.json
{
"name": "game_test",
"author": "Ilya",
"description": "A test app for our board game",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node app"
},
"dependencies": {
"express": "3.0.6",
"jade": "*",
"socket.io" : "*"
},
"engines": {
"node": "0.8.14"
}
}
다음 로그가 표시됩니다.
heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=game-test-1.herokuapp.com fwd=37.26.146.185 dyno= queue= wait= connect= service= status=503 bytes=
heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=game-test-1.herokuapp.com fwd=37.26.146.185 dyno= queue= wait= connect= service= status=503 bytes=
그것은 무엇을 뜻하나요?
여기에서 나를 위한 솔루션 찾기:Heroku + node.js 오류(웹 프로세스가 시작 후 60초 이내에 $PORT에 바인딩하지 못함)
나의 경우, 내 앱은 herku가 동적으로 설정하는 포트를 사용하는 대신, 포트를 설정하는 것이 어려웠기 때문에 충돌했습니다.process.env.PORT
app.listen(process.env.PORT || 3000, function(){
console.log("Express server listening on port %d in %s mode", this.address().port, app.settings.env);
});
방금 앱에 유사한 문제가 발생했습니다. DB를 마이그레이션한 후 여러 가지 옵션을 사용해 본 결과 다음과 같은 문제가 발생했습니다.
heroku restart
(Mac용 Heroku 공구 벨트 사용)
저는 이 문제가 있었는데, 유일한 문제는 제 Proc 파일이 이렇다는 것이었습니다.
web : node index.js
로 바꿨습니다.
web:node index.js
유일한 문제는 공간이었습니다.
나의 경우, 나의 로컬 컴퓨터에 노드와 npm의 버전 차이가 있고 패키지에 정의되어 있기 때문에 동일한 오류를 발견했습니다.json 버전
"engines": {
"node": "0.8",
"npm": "1.2.x"
}
를 사용하여 확인할 때
node --version : v0.10.41
npm --version : 1.4.29
패키지를 업데이트할 때.의 아들.
"engines": {
"node": "0.10.41",
"npm": "1.4.29"
}
잘 작동합니다 :)
저의 경우 스크립트 섹션에 시작 명령이 없었습니다.package.json
가 때. 제가 만들었을 때package.json
로 철하다npm init
스크립트 시작 명령을 만들지 않았습니다.그래서 저는 그 곳에 갔습니다.package.json
했습니다: " 일트에, 스항새추가했습니다을목파서크립"
"scripts": {
"start": "node index.js"
},
저장하고 헤로쿠에 업로드하여 작동했습니다.
제 에는 나의경추가우가를 합니다.process.env.PORT || 3000
내 http 서버 스크립트로, 해결되었습니다.나의 herkuklog에 'H20' 오류와 503 http 상태가 보고되었습니다.
제 경우, 제 Proc 파일이 잘못된 파일(이전에 사용했던 bot.js)을 가리키고 있어서 업데이트를 하면 오류가 사라졌습니다.
데이터베이스 연결도 확인합니다.로컬 호스트에서 데이터베이스 연결을 변경하는 것을 잊었고 herku로 푸시되자마자 앱이 다운되었습니다.
저는 이와 같은 문제에 직면했지만 위의 답변 중 어떤 것도 저에게 도움이 되지 않았습니다.제가 한 일은 실행되었습니다.
node --version
그리고 포장 안에.json 노드 버전으로 엔진 섹션 추가:
{
"name": "myapp",
"description": "a really cool app",
"version": "1.0.0",
"engines": {
"node": "6.11.1"
}
}
hapi18을 사용하면 "host" 필드를 꺼내 포트를 다음으로 설정할 수 있습니다.
port: process.env.PORT || 5000
속임수를 썼습니다.
이전 스레드이지만 PORT 상수를 process.env로 설정하여 이 문제를 해결합니다.좌현 ||
이상한 이유로, 그것은 먼저 Env를 검색하고 싶었습니다.
오타가 났어요.
const PORT = process.env.PORT||'8080';
전에는
const PORT = process.env.port||'8080';
때 를 기준으로 합니다.nodemon
제가 그랬던 것처럼, 그리고 그것은 지역적으로 작동합니다, 시도해보세요.npm start
Nodemon은 나에게 오류가 없다고 말하고 있었지만, npm start는 나에게 많은 오류를 이해할 수 있는 방법으로 알려주었고, 나는 여기에 있는 다른 게시물을 팔로우함으로써 그것들을 해결할 수 있었습니다.누군가에게 도움이 되길 바랍니다.
나의 경우, 나는 노드 js 앱에 Proc 파일을 추가하는 것을 거부하고 내 "main": "app.js"는 처음에 다른 js 파일을 메인으로 가리키고 있었기 때문에 이러한 changes를 통해 나를 위해 그것을 고쳐줍니다.
암호에 %가 포함되어 있습니다.
저의 경우, 데이터베이스 환경을 배포용으로 설정하는 것을 잊었습니다.이 명령으로 env를 설정할 수 있습니다(MongoDB 서버용 mLab을 사용합니다).
herku 구성:set MONGO_URI= 'mongodb://address'
저에게는 패키지였습니다.json 종속성을 설치했다고 생각했지만 종속성 때문에 비어 있었습니다.그래서 나는 결국 --save 옵션을 사용하여 그것들을 다시 설치하고 그것들이 package.json에 추가되었는지 확인해야 했습니다.그리고 다시 밀면 효과가 있었습니다.
포트가 다음으로 설정되었습니다.config.httpPort
은 이으로결것은으로 됩니다.80
다음을 수행하여 수정했습니다.
const PORT = process.env.PORT || config.httpPort;
app.listen(PORT, ...)
감사합니다, 어젯밤에 시간을 많이 낭비했어요.
저의 경우 Proc 파일이 다음과 같은 이유로 code=H10 및 status=503이 있었습니다.
web: node build/server.js
그리고 저는 .gitignore에 포함시켰습니다.
나의start
have 지이있env-cmd -f ./config/prod.env node index.js
.
한 후:node index.js
고쳐졌어요.
저도 같은 문제가 있었습니다. 문제는 제 프로필이 다음과 같다는 것이었습니다.
web: gunicorn__init__:app
위에서 언급한 바와 같이 gunicorn과 __init 사이에는 공백이 없습니다.
에 web: gunicorn __init__:app
제 경우에는 순서를 변경하여 문제가 해결되었습니다 : From : app.listen (2000 || process.env).포트); to : app.listen(process.env).좌현 || 2000);
방금 이 오류를 확인하고 해결했습니다.다른 방법을 시도했지만 실패한 사용자는 Procfile 경로를 확인하십시오.서버가 백엔드 폴더에 있었지만 web: node server.js만 입력했습니다.웹: 노드 백엔드/server.js로 변경한 후 오류를 해결했습니다.
H10 오류 코드는 많은 다른 것들을 의미할 수 있습니다.나의 경우 첫 번째는 Heroku가 Sqlite3와 호환되지 않는다는 것을 몰랐기 때문이고, 두 번째는 실수로 개발 및 운영 중인 Google Analytics로 업데이트를 푸시했기 때문입니다.
"app crashed" 및 H10 오류와 동일한 오류가 발생했으며 herku 앱 로그에 오류 메시지 이유와 관련된 정보가 많이 표시되지 않습니다.그런 다음 herku에서 dynos를 다시 시작했는데 설정에 있는 index.js 파일 중 하나에 추가적인 curly brace라는 오류가 표시되었습니다.herku에서 앱을 제거하고 다시 배포하면 문제가 해결되었습니다.
오래된 스레드지만, 나는 내 스레드를 설정하지 않았습니다..env
Heroku 콘솔의 변수.
나는 바디 파서 예외를 던지고 있었습니다.
const bodyParser = require('body-Parser')
//Bodyparser Middleware
app.use(bodyparser.json())
사용하는 대신에
//Bodyparser Middleware
app.use(express.json())
이것은 나의 문제를 해결했습니다.
Github으로 업데이트되지 않은 간단한 파일인 이 오류에 대한 해결책이 무엇인지 여기에 등록하고 싶습니다.
저는 전체 스택 프로젝트를 가지고 있으며, 제 파일은 백엔드용 루트 디렉터리와 프런트엔드용 클라이언트로 구성되어 있습니다(Ract.js를 사용하고 있습니다).모든 것은 제가 실수로 클라이언트 폴더를 Github에만 푸시하고 있었다는 사실과 오류(index.js의 개체 인스턴스에서 쉼표가 누락됨)가 있는 모든 변경 사항이 백엔드 측에서 업데이트되지 않았다는 사실로 귀결됩니다.이 Heroku는 Github Repository에서 모든 업데이트를 가져오기 때문에 서버에 액세스할 수 없고 오류가 지속되었습니다.그런 다음 루트 디렉터리를 커밋하고 푸시하여 프로젝트의 모든 변경 사항을 업데이트하고 모든 작업이 다시 작동하기만 하면 되었습니다.
저는 몇 시간 동안 같은 오류와 씨름하지만, 그것을 해결할 수 있었습니다.multer와 aws-sdk를 devDependencies로 잘못 설치했습니다.같은 오류가 있는 사람은 패키지를 다시 확인하십시오.json 파일.
또한 package.json의 엔진 속성에 대한 작은 팁.
enter code here
//The greater or equal operators will make sure that you use the right node
//version
//even if your current node is greater version than npm node
"engines": {
"node": ">= 0.8.14"
},
//insted of
"engines": {
"node": "0.8.14"
}
앱 이름을 입력하는 것을 잊어 이 오류가 발생했을 때 파이썬 장고 프레임워크를 배포하고 있었습니다.web: gunicorn plaindjango.wsgi:application --log-file -
대신에plaindjango
언급URL : https://stackoverflow.com/questions/14322989/first-heroku-deploy-failed-error-code-h10
'programing' 카테고리의 다른 글
자바.java.java잘못된 인수예외:기본 서블릿 처리를 구성하려면 서블릿 컨텍스트가 필요합니다. (0) | 2023.07.30 |
---|---|
도커 파일에서 WORKDIR의 요점은 무엇입니까? (0) | 2023.07.30 |
z-index가 고정 위치 지정과 함께 작동하지 않음 (0) | 2023.07.30 |
ASP.NET의 CSS 클래스를 사용자 컨트롤이 알 수 있도록 하는 방법 (0) | 2023.07.30 |
입력 번호에서 위쪽 및 아래쪽 화살표 버튼(스피너) 숨기기 - Firefox 29 (0) | 2023.07.30 |