使用 Heroku 进行 Fastify
Fastify with Heroku
我有一个使用 Heroku 托管的简单 Fastify 服务器。但是,它似乎不起作用!但是,开发的时候好像没问题!我得到的错误是:Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
。我得到的完整错误:
这是我使用的代码:
server.js
:
const fastify = require("fastify")();
const path = require("path");
fastify.register(require("fastify-static"), {
root: path.join(__dirname, "/"),
});
fastify.get("/", function (req, reply) {
reply.sendFile("index.html");
});
fastify.listen(process.env.PORT || 5000, (err) => {
if (err) throw err;
console.log(`server listening on ${fastify.server.address().port}`);
});
package.json
:
{
"name": "test1",
"version": "1.0.0",
"description": "",
"main": "server.js",
"engines": {
"node": "15.11.x"
},
"scripts": {
"start": "node server.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"fastify": "^3.14.0",
"fastify-static": "^4.0.1"
}
}
有时,网站甚至无法加载!
任何帮助是极大的赞赏 !
谢谢!
这是图书馆的问题。对于其他库(express、django 等),不需要指定地址。
见https://github.com/fastify/fastify/issues/709
变化:
.listen(process.env.PORT)
至:
.listen(process.env.PORT, '0.0.0.0')
当我将 nodemon 用作本地服务器并将 Heroku 用于生产时,以下对我有用:
await fastify.listen(process.env.PORT, process.env.HOST || '0.0.0.0');
并在 package.json
"dev": "PORT=${PORT:=3000} HOST=${HOST:=localhost} nodemon"
我有一个使用 Heroku 托管的简单 Fastify 服务器。但是,它似乎不起作用!但是,开发的时候好像没问题!我得到的错误是:Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
。我得到的完整错误:
这是我使用的代码:
server.js
:
const fastify = require("fastify")();
const path = require("path");
fastify.register(require("fastify-static"), {
root: path.join(__dirname, "/"),
});
fastify.get("/", function (req, reply) {
reply.sendFile("index.html");
});
fastify.listen(process.env.PORT || 5000, (err) => {
if (err) throw err;
console.log(`server listening on ${fastify.server.address().port}`);
});
package.json
:
{
"name": "test1",
"version": "1.0.0",
"description": "",
"main": "server.js",
"engines": {
"node": "15.11.x"
},
"scripts": {
"start": "node server.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"fastify": "^3.14.0",
"fastify-static": "^4.0.1"
}
}
有时,网站甚至无法加载!
任何帮助是极大的赞赏 !
谢谢!
这是图书馆的问题。对于其他库(express、django 等),不需要指定地址。
见https://github.com/fastify/fastify/issues/709
变化:
.listen(process.env.PORT)
至:
.listen(process.env.PORT, '0.0.0.0')
当我将 nodemon 用作本地服务器并将 Heroku 用于生产时,以下对我有用:
await fastify.listen(process.env.PORT, process.env.HOST || '0.0.0.0');
并在 package.json
"dev": "PORT=${PORT:=3000} HOST=${HOST:=localhost} nodemon"