简单 Node.js Heroku 部署失败
Simple Node.js Heroku deployment fails
我有一个名为 index.js
:
的简单网络服务器
const express = require('express')
const app = express()
const port = 3000
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.get('/data', (req, res) => {
res.send('Data')
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
我添加了 Procfile
:
web:node server.js
我在 package.js
中添加了引擎:
{
"name": "server",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon ./index.js"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.3",
"nodemon": "^2.0.15"
},
"engines": {
"node": "16.13.1",
"npm": "8.1.2"
}
}
我的部署一直失败,我的 heroku logs --tail
如下:
2022-03-04T09:10:22.196622+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=sismographie-back.herokuapp.com request_id=13ad01a2-0ff4-469e-820e-d61a337014e0 fwd="92.184.123.97" dyno= connect= service= status=503 bytes= protocol=https
2022-03-04T09:10:22.764644+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=sismographie-back.herokuapp.com request_id=09b110c3-0b16-45c0-8c02-02c77a7907c0 fwd="92.184.123.97" dyno= connect= service= status=503 bytes= protocol=http
如果这很重要,我正在使用 /Deploy > Deploy Branch 内置功能。
发生了什么事?
谢谢。
你不能使用 3000 作为默认端口 heroku.You 应该使用 heroku 的 port.The 问题基本上是由于端口引起的。
为了它的工作改变你的代码,比如 -
app.listen(process.env.PORT || port, () => {
console.log(`Example app listening on port ${port}`)
});
现在 heroku 将根据他们的服务器选择一个随机端口,如果他们无法获取任何端口,您的端口将优先于它。
我有一个名为 index.js
:
const express = require('express')
const app = express()
const port = 3000
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.get('/data', (req, res) => {
res.send('Data')
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
我添加了 Procfile
:
web:node server.js
我在 package.js
中添加了引擎:
{
"name": "server",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon ./index.js"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.3",
"nodemon": "^2.0.15"
},
"engines": {
"node": "16.13.1",
"npm": "8.1.2"
}
}
我的部署一直失败,我的 heroku logs --tail
如下:
2022-03-04T09:10:22.196622+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=sismographie-back.herokuapp.com request_id=13ad01a2-0ff4-469e-820e-d61a337014e0 fwd="92.184.123.97" dyno= connect= service= status=503 bytes= protocol=https
2022-03-04T09:10:22.764644+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=sismographie-back.herokuapp.com request_id=09b110c3-0b16-45c0-8c02-02c77a7907c0 fwd="92.184.123.97" dyno= connect= service= status=503 bytes= protocol=http
如果这很重要,我正在使用 /Deploy > Deploy Branch 内置功能。
发生了什么事?
谢谢。
你不能使用 3000 作为默认端口 heroku.You 应该使用 heroku 的 port.The 问题基本上是由于端口引起的。
为了它的工作改变你的代码,比如 -
app.listen(process.env.PORT || port, () => {
console.log(`Example app listening on port ${port}`)
});
现在 heroku 将根据他们的服务器选择一个随机端口,如果他们无法获取任何端口,您的端口将优先于它。