[解決済み】Heroku + node.jsのエラー(Webプロセスが起動後60秒以内に$PORTにバインドできなかった)。
2022-01-11 04:21:50
質問事項
私のnode.jsアプリのコードは次のとおりです。
var http = require('http');
var fs = require('fs');
var path = require('path');
http.createServer(function (request, response) {
console.log('request starting for ');
console.log(request);
var filePath = '.' + request.url;
if (filePath == './')
filePath = './index.html';
console.log(filePath);
var extname = path.extname(filePath);
var contentType = 'text/html';
switch (extname) {
case '.js':
contentType = 'text/javascript';
break;
case '.css':
contentType = 'text/css';
break;
}
path.exists(filePath, function(exists) {
if (exists) {
fs.readFile(filePath, function(error, content) {
if (error) {
response.writeHead(500);
response.end();
}
else {
response.writeHead(200, { 'Content-Type': contentType });
response.end(content, 'utf-8');
}
});
}
else {
response.writeHead(404);
response.end();
}
});
}).listen(5000);
console.log('Server running at http://127.0.0.1:5000/');
herokuでデプロイすると、エラーが発生します。
Web process failed to bind to $PORT within 60 seconds of launch
解決方法は?
Herokuはアプリに動的にポートを割り当てるので、ポートを固定で設定することはできません。Herokuはenvにポートを追加するので、そこから引っ張ってくればいい。リスナーをこれに切り替えてください。
.listen(process.env.PORT || 5000)
この方法では、ローカルでテストするときはポート5000をリッスンしますが、Heroku上でも動作します。
Node.jsに関するHerokuのドキュメントを確認することができます。 こちら .
関連
-
FcScript V1.0 ヘルプファイル(説明書付き
-
[解決済み】 mean() 警告:引数が数値または論理でない:NAを返す
-
[解決済み】ActionController::InvalidAuthenticityTokenについて
-
[解決済み】コレクションが変更され、列挙操作が実行されないことがある。
-
[解決済み】 c++ "Incomplete type not allowed" クラス参照情報へのアクセスエラー (前方宣言による円環状依存性)
-
[解決済み】ValueError: 入力配列を形状 (224,224,3) から形状 (224,224) にブロードキャストできませんでした。)
-
[解決済み】必要な形式パラメータに対応する引数が与えられない - .NETエラー
-
[解決済み】行列式で「数値/複雑な行列/ベクトルの引数が必要です」というエラーが発生?
-
[解決済み】拡張メソッドは、一般的でない静的クラスで定義する必要がある
-
[解決済み] [Solved] libpthread.so.0: error adding symbols: コマンドラインからDSOが見つからない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
InstallShield で IIS がインストールされているかどうかを検出するスクリプト
-
[解決済み】lm.fit(x,y,offset = offset, singular.ok,...) boxcox式で0非NAケースでエラーになる。
-
[解決済み】Jupyter Notebookが保存されない:postに'_xsrf'引数がない
-
[解決済み】GAEで完全に有効なXMLをパースすると「Prologではコンテンツが許可されません」と表示される
-
[解決済み】 lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) でエラー : 'y' に NA/NaN/Inf, あらゆる方法を試したが解決しなかった。
-
[解決済み】データフレームで関数を適用する場合、dim(X)は正の長さでなければならない
-
[解決済み】 c++ "Incomplete type not allowed" クラス参照情報へのアクセスエラー (前方宣言による円環状依存性)
-
[解決済み】ウィンドウ階層にないビューを持つUIViewControllerでUIViewControllerを表示しようとする
-
[解決済み】Facebook Graph API のクエリで with=location を使用すると "Uncaught (in promise) undefined" というエラーが発生する。
-
[解決済み] Herokuの最初のデプロイに失敗した `error code=H10` 。