2015-08-21 4 views
0

Я пытаюсь запустить приложение узла на Heroku, я получил это сообщение:Node.js приложение H10 Ошибка развертывания на Heroku

Process exited with status 137 
2015-08-21T15:19:16.278225+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=afternoon-refuge-1097.herokuapp.com request_id=3d934205-ea72-44f2-9dd0-4d5aa1521d8e fwd="77.132.40.135" dyno= connect= service= status=503 bytes= 

там мой server.js файл

hostname = process.env.HOSTNAME || 'localhost', 
    port = parseInt(process.env.PORT, 10) || 3000, 
    publicDir = process.argv[2] || __dirname + '/public'; 

app.get("/", function (req, res) { 
    res.redirect("/index.html"); 
}); 
app.use(methodOverride()); 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ 
    extended: true 
})); 
app.use(express.static(publicDir)); 
app.use(errorHandler({ 
    dumpExceptions: true, 
    showStack: true 
})); 
app.listen(port, hostname); 

Мои PROCFILE web: node server.js и мой package.json

{ 
    "name": "myApp", 
    "version": "0.1.0", 
    "dependencies": { 
    "express": "^4.1.2", 
    "body-parser": "^1.1.2", 
    "errorhandler": "^1.0.1", 
    "method-override": "^1.0.0" 
    }, 
    "engines": { 
    "node": "0.12.4", 
     "npm": "2.10.1" 
    } 
} 

Я пытаюсь выяснить, где проблема исходит, но у меня нет никаких идей.

+0

Что ваши журналы говорят выше 'Процесс завершается со статусом 137'? – hunterloftis

+0

'2015-08-21T17: 06: 54.680279 + 00: 00 heroku [web.1]: запуск с командным узлом server.js 2015-08-21T17: 06: 57.915353 + 00: 00 приложение [web.1]: salsa server show/app/public listen at http: // localhost: 51650 2015-08-21T17: 07: 55.260958 + 00: 00 heroku [web.1]: ошибка R10 (время ожидания загрузки) -> Не удалось связать веб-процесс до $ PORT в течение 60 секунд с момента запуска 2015-08-21T17: 07: 55.260958 + 00: 00 heroku [web.1]: Прекращение процесса с SIGKILL 2015-08-21T17: 07: 56.072665 + 00: 00 heroku [web .1]: Состояние изменилось с начала на разбитое 'this мои журналы – radjiv

ответ

1

Это корень проблемы: Web process failed to bind to $PORT within 60 seconds of launch 2015-08-21T17:07:55.260958+00:00 heroku[web.1]

Вы связываясь с localhost, что означает, что приложение будет только принимать соединения по шлейфу. Когда Heroku проверяет это, чтобы убедиться, что он успешно связан с $PORT, он этого не сделал, потому что ничего не может достичь этого на localhost. Вы можете исправить, только удалив hostname бит:

app.listen(port); 
+0

Это работает, я очень рад, спасибо вам большое. – radjiv

Смежные вопросы