当我将应用程序部署到 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 });
您需要将
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