2017-04-16 23 views
0

私はHerokuでホストされているExpressアプリを持っています。ローカルではうまく動作しますが、Herokuでクラッシュし続けます。私はそれに行くたびに、私は 'アプリケーションエラー'ページを取得します。Heroku Node appがクラッシュする

application error page

私は二重のすべての環境変数をチェックし、彼らはOKに見えます。

Herokuのログが正確に多くの助けを提供していません。

2017-04-16T23:02:49.001768+00:00 heroku[web.1]: State changed from crashed 
to starting 
2017-04-16T23:02:52.072906+00:00 heroku[web.1]: Starting process with 
command `npm run start` 
2017-04-16T23:02:56.042611+00:00 app[web.1]: 
2017-04-16T23:02:56.042628+00:00 app[web.1]: > [email protected] start /app 
2017-04-16T23:02:56.042629+00:00 app[web.1]: > node bin/app 
2017-04-16T23:02:56.042630+00:00 app[web.1]: 
2017-04-16T23:02:57.200912+00:00 heroku[web.1]: State changed from starting 
to crashed 
2017-04-16T23:02:57.201454+00:00 heroku[web.1]: State changed from crashed 
to starting 
2017-04-16T23:02:57.192198+00:00 heroku[web.1]: Process exited with status 0 
2017-04-16T23:03:00.981528+00:00 heroku[web.1]: Starting process with 
command `npm run start` 
2017-04-16T23:03:04.312475+00:00 app[web.1]: 
2017-04-16T23:03:04.312489+00:00 app[web.1]: > [email protected] start /app 
2017-04-16T23:03:04.312490+00:00 app[web.1]: > node bin/app 
2017-04-16T23:03:04.312491+00:00 app[web.1]: 
2017-04-16T23:03:06.093211+00:00 heroku[web.1]: Process exited with status 0 
2017-04-16T23:03:06.112842+00:00 heroku[web.1]: State changed from starting 
to crashed 

だから、私は手動でアプリを起動してみました:

$ heroku run bash 
... 
$ npm run start 

は、私はエラーを得ませんでした。私はそれをチェックするので、私は、アプリが実行されているかどうかを確認するために、PM2プロセスマネージャを使用していますし、それがあるように思える:

$ node_modules/.bin/pm2 list 
... 

pm2 output

しかし、その後、私は私が手に私のアプリを開くために行くとき前と同じ「アプリケーションエラー」ページ。

「英雄再開」は役に立たない。それはたびに毎回クラッシュします。

私のローカル環境とHerokuとの唯一の違いは(少なくとも私が言うことができる限り)ローカルでは私がRSA秘密鍵を読んでいるファイルがあり、その鍵は環境から読んでください。

編集:要求されたとして、ここに私のProcfileです:

web: npm run start 

任意のアイデアは?

+0

RSA秘密鍵とは何ですか?あなたのアプリケーションを展開するHerokuの指示に従った? https://devcenter.heroku.com/articles/getting-started-with-nodejs#introduction –

+0

ええ、私はガイドに従った。私はGitHubインテグレーションを構築しようとしているので、鍵はGitHubです。 – Yulek

+0

プロファイルを追加できますか? –

答えて

0

2つのことを試してみてください。これを実行するターミナルウィンドウで、コンピュータ上の

heroku ps:scale web=1 

web: node start.js 

そして、それはそれをスケールアップすることで実行されているウェブプロセスことを確認してください。あなたのprocfileを変更 コマンド:

heroku local web 

これは、Herokuがあなたのアプリケーションをどのように実行するかをシミュレートします。何が起こっているかの情報を提供する必要があります。

+0

それは試してみましたが、幸運はありません... Procfileを 'node bin/app' +に変更し、アプリケーションをスケールダウンしてバックアップしましたが、それでもクラッシュします。どういうわけか私が何とかそれを働かせたら、私はここに投稿します。 – Yulek

+1

私の唯一のアドバイスは、Herokuを使ってローカルでアプリを起動し、その内容を確認することです(更新された回答) –

関連する問題