Heroku 不使用定义的 PORT 环境变量
Heroku not using defined PORT environment var
我使用 node.js 和 Heroku 制作了一个小应用程序,设置本地 .env
文件并使用 heroku config:set VARNAME=varValue
定义它应该在本地和远程监听的端口。
PROD_MONGODB=mongodb://xxxxxxxxx@dxxxxxxxx:12345/server
PORT=3000
我还在 Heroku 上检查了应用程序的仪表板,我可以确认变量设置正确。
这是使用 restify 的服务器启动代码。
app.listen(process.env.PORT, function() {
console.log('Server listening on port number', process.env.PORT);
});
如果我 运行 在本地使用 heroku local
应用程序,它会 运行 端口 3000,如我所料:
Orion:.......$ heroku local
forego | starting web.1 on port 3000
web.1 |
web.1 | Server listening on port number 3000
但是当我在 Heroku 上部署应用程序时,我使用了一个看似随机的端口:
2015-09-28T15:15:51.400324+00:00 app[web.1]: Server listening on port number 56680
2015-09-28T15:15:51.486396+00:00 heroku[web.1]: State changed from starting to up
我还能做些什么来确保 Heroku 使用我定义为环境变量的端口吗?
您没有定义 PORT
- Heroku 自动将其作为环境的一部分提供。
我使用 node.js 和 Heroku 制作了一个小应用程序,设置本地 .env
文件并使用 heroku config:set VARNAME=varValue
定义它应该在本地和远程监听的端口。
PROD_MONGODB=mongodb://xxxxxxxxx@dxxxxxxxx:12345/server
PORT=3000
我还在 Heroku 上检查了应用程序的仪表板,我可以确认变量设置正确。
这是使用 restify 的服务器启动代码。
app.listen(process.env.PORT, function() {
console.log('Server listening on port number', process.env.PORT);
});
如果我 运行 在本地使用 heroku local
应用程序,它会 运行 端口 3000,如我所料:
Orion:.......$ heroku local
forego | starting web.1 on port 3000
web.1 |
web.1 | Server listening on port number 3000
但是当我在 Heroku 上部署应用程序时,我使用了一个看似随机的端口:
2015-09-28T15:15:51.400324+00:00 app[web.1]: Server listening on port number 56680
2015-09-28T15:15:51.486396+00:00 heroku[web.1]: State changed from starting to up
我还能做些什么来确保 Heroku 使用我定义为环境变量的端口吗?
您没有定义 PORT
- Heroku 自动将其作为环境的一部分提供。