为什么我的node.js应用程序部署在Heroku上时出现问题

问题描述 投票:0回答:1

当我将应用程序部署到 Heroku 时遇到以下问题。该应用程序在本地运行良好,但在部署到 Heroku 时,出现以下错误

2023-08-21T05:30:24.694959 + 00:00 heroku [路由器]:at =错误代码= H10 desc =“应用程序崩溃”方法= GET路径=“/favicon.ico”主机=decode-project-1ce46d29e037 .herokuapp.com request_id=8e9ac001-e8de-4474-b149-d0b312234b44 fwd="154.120.116.248" dyno= 连接= 服务=状态=503字节=协议=https

错误 R10(启动超时)-> Web 进程未能在启动后 60 秒内绑定到 $PORT

注意:以上是我使用“heroku log”访问的日志

另外,下面是我的 PORT 索引文件

import express from 'express';
import bodyParser from 'body-parser';
import mongoose from 'mongoose';
import cors from 'cors';
import dotenv from 'dotenv';

import postRoutes from './routes/posts.js';

const app= express();
dotenv.config();


app.use(bodyParser.json({limit: "30mb", extended: true}));
app.use(bodyParser.urlencoded({limit: "30mb", extended: true}));
app.use(cors());
app.use('/posts', postRoutes);

app.get('/', (req, res) =>{
    res.send('Hello to Decode API');
});

const PORT = process.env.PORT || 5000;

app.listen(PORT, '0.0.0.0', () => console.log('server'));

mongoose.connect(process.env.CONNECTION_URL, { useNewUrlParser: true, useUnifiedTopology: true });
node.js heroku port
1个回答
0
投票

您需要将

app.listen
通话更新为:

app.listen(process.env.PORT || 5000, '0.0.0.0', () => {
  console.log('Server is running');
})

在极少数情况下,您的应用程序可能正在使用 process.env.PORT,但可能仍然无法绑定。这可能是由于应用程序尝试在本地主机上绑定造成的。相反,您可能需要将其更改为 0.0.0.0。

https://help.heroku.com/P1AVPANS/why-is-my-node-js-app-crashing-with-an-r10-error

© www.soinside.com 2019 - 2024. All rights reserved.