如何更改 node.js 中 process.env.PORT 的值?

Posted

技术标签:

【中文标题】如何更改 node.js 中 process.env.PORT 的值?【英文标题】:How to change value of process.env.PORT in node.js? 【发布时间】:2012-10-31 06:10:35 【问题描述】:

我想更改process.env.PORT 的值,我该怎么做?

我正在运行 Ubuntu 12.04。

【问题讨论】:

【参考方案1】:

最简单的方法是:

PORT=2222 node-dev app.js

【讨论】:

请添加更多详细信息以扩展您的答案,例如工作代码或文档引用。【参考方案2】:

您可以使用跨平台解决方案https://www.npmjs.com/package/cross-env

$ cross-env PORT=1234

【讨论】:

这可能是最好的解决方案。不同的终端有太多的错误余地。我花了大约 40 分钟才发现 cross-env 将这个问题抽象出来并且可以正常工作。【参考方案3】:

在运行node JS程序时,使用以下命令设置node进程中的端口号:

set PORT =3000 && node file_name.js

设置的端口可以在代码中访问为

process.env.PORT 

【讨论】:

【参考方案4】:

编辑: 根据@sshow 的评论,如果您尝试在端口 80 上运行您的节点应用程序,则以下方法不是最好的方法。这是一个更好的答案:How do I run Node.js on port 80?

原答案:

如果你想在 80 端口上运行(或者想更永久地设置环境变量),

    打开您的 bash 配置文件 vim ~/.bash_profile 将环境变量添加到文件export PORT=80 打开sudoers配置文件sudo visudo 将以下行添加到文件中,就像 Defaults env_keep +="PORT"

现在,当您运行 sudo node app.js 时,它应该可以正常工作了。

【讨论】:

不建议以 root (sudo) 身份运行您的节点脚本。使用sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080,并改为在端口 8080 上侦听。 stigok.tumblr.com/post/139320914543/… 是的,你是对的,我已经链接到一个更好的讨论(我也回答了,免责声明)并在最初使用这种方法后学到了。【参考方案5】:

只运行一次(从 unix shell 提示符):

$ PORT=1234 node app.js

更永久:

$ export PORT=1234
$ node app.js

在Windows:

set PORT=1234

在 Windows 中PowerShell:

$env:PORT = 1234

【讨论】:

为了文档起见,msdn.microsoft.com/en-us/library/windows/desktop/… 适用于 Windows 用户 同样适用于 Powershell,它是 $env:PORT = 80 technet.microsoft.com/en-us/library/ff730964.aspx VAR_1=value VAR_2=11827 node -> 只需使用一个空格即可在同一命令中使用多个变量

以上是关于如何更改 node.js 中 process.env.PORT 的值?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 node.js 中 process.env.PORT 的值?

如何在 node.js 中更改 jsonwebtoken 的标头

如何在node.js中更改格式日期

如何更改node.js中soap包生成的xml?

如何使用 docker 中的卷同步 node.js 工作区更改

如何使用 node.js 更改前端 html