如何更改 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 的标头