Node.js如何设置服务器环境PORT和NODE_ENV?

时间:2017-08-22 16:09:27

标签: node.js ubuntu express

如何将服务器环境设置为某个端口?

例如,

const app = require('express')()
const isProd = (process.env.NODE_ENV === 'production')
const port = process.env.PORT || 3000

false isProd3000 <{1}}

我没有看到这两行的用处,我可以手动设置它们:

port

我的root中是否需要一些配置文件?

有什么想法吗?

我正在使用Linux / Ubuntu / Kubuntu。

2 个答案:

答案 0 :(得分:3)

尝试使用以下命令运行服务器

set NODE_ENV=production && set PORT=7000 && node server.js

或者对于Linux

NODE_ENV=production PORT=7000 node server.js

这将为您的节点服务器设置环境和端口。

答案 1 :(得分:1)

取决于您托管的位置(例如Windows或* nix)以及您运行应用程序的方式(作为Windows或Linux服务,使用pm2,使用systemd等)。

最简单的方法是更改​​启动应用程序的命令行调用,例如(linux):

NODE_ENV=prod PORT=34567 node myapp.js

或Windows

set NODE_ENV=prod && set PORT=34567 && node myapp.js

如果你正在使用systemd或pm2(你应该这样),那么它们每个都有配置文件,允许你为运行服务器的环境设置这些变量。

Pm2 docs:http://pm2.keymetrics.io/docs/usage/application-declaration/

在本地,您可以通过常规方式在您的环境中设置默认值(在* nix中,这意味着在shell配置中导出它们)