Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js如何设置服务器环境端口和节点环境?_Node.js_Ubuntu_Express - Fatal编程技术网

Node.js如何设置服务器环境端口和节点环境?

Node.js如何设置服务器环境端口和节点环境?,node.js,ubuntu,express,Node.js,Ubuntu,Express,如何将服务器环境设置为某个端口 比如说, const app = require('express')() const isProd = (process.env.NODE_ENV === 'production') const port = process.env.PORT || 3000 对于isProd和3000端口 我看不出这两行有什么用处,我可以在下面手动设置它们: app.get('/', function (req, res) { const data = {message:

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

比如说,

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

我看不出这两行有什么用处,我可以在下面手动设置它们:

app.get('/', function (req, res) {
  const data = {message: 'Hello World!'}
  return res.status(200).json(data);
})

app.listen(3000, function () {
  console.log('listening on port 3030!')
})
我的根目录中需要一些配置文件吗

有什么想法吗


我正在使用Linux/Ubuntu/Kubuntu

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

set NODE_ENV=production && set PORT=7000 && node server.js
还是Linux

NODE_ENV=production PORT=7000 node server.js

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

取决于您的主机位置(例如windows或*nix)以及您如何运行应用程序(作为windows或Linux服务、使用pm2、使用systemd等)

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

或窗户

set NODE_ENV=prod && set PORT=34567 && node myapp.js
如果您使用的是systemd或pm2(您应该这样做),那么它们都有配置文件,允许您为服务器运行的环境设置这些变量

Pm2文件:


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

你在哪里托管你的生产构建?你在生产服务器上设置了相关的环境变量吗?也许可以看看这个,了解如何在你的本地执行:还建议了解
过程。env
实际上是基于linux的系统,只需键入
导出节点_env=production
导出即可端口=8080
来自命令line@canaanseaton我正在使用Linode中的主机作为实例。为什么不
NODE_ENV=production PORT=7000 NODE server
?是的,但为什么要设置环境变量?对于Windows系统,我们需要在运行应用程序之前设置这些变量。谢谢您的回答。我必须用终端的命令行来完成吗?例如,我可以使用配置文件吗?您需要从命令行执行此操作,尽管您可以创建从文件读取配置的批处理或shell脚本来执行此操作。我正在使用Linode中的主机作为实例。在Linode中,您可以自己安装所有东西,包括服务器。我将使用pm2。我必须使用终端的命令行吗?例如,我可以使用配置文件吗?我使用Linux。是的,你可以用pm2配置文件来做,这里有一个放置环境变量的地方
set NODE_ENV=prod && set PORT=34567 && node myapp.js