如何添加节点 运行 选项 --max-http-header-size 并将名称添加到 pm2 启动命令

How to add node run option --max-http-header-size and add name to pm2 start command

如何使用 —max-http-header-size 节点选项启动 pm2 进程,以及如何命名进程。

我的服务器有多个 micro-services,其中一项服务是网络抓取工具。

此网络抓取工具接受 headers 超过 nodejs 默认 8kb 限制的请求。因此,要 运行 我的应用程序在本地必须添加 --max-http-header-size 节点选项。

我已经将我的应用程序克隆到服务器,但不知道如何设置 --max-http-header-size,也不知道如何在 pm2 start 命令中命名进程。

到目前为止,我的尝试是这样的。

// this sets the name, but I don't know how to add the option `--max-http-header-size`
pm2 start npm --name "{REPONAME}" -- start
pm2 start node --name "scraper" --max-http-header-size 15000 app.js
pm2 start node --max-http-header-size 15000 app.js -- --name "scraper"

你要找的是环境变量!您可以使用像这样加载服务器的文件将环境变量传递给 pm2:

module.exports = {
  apps : [
      {
        name: "myapp",
        script: "./app.js",
        watch: true,
        node_args: "--max-http-header-size=16000"
      }
  ]
}

这里还有更多相关信息: https://pm2.keymetrics.io/docs/usage/environment/

从节点 16 开始,David Harvey 接受的答案对我不起作用。相反,我不得不使用 node_args,像这样:

{
  "apps" : [{
    "name"        : "myapp",
    "script"      : "./app.js",
    "node_args": "--max-http-header-size=256000",
    "env": {
      "NODE_ENV": "production",
    }
  }]
}