如何在pm2启动命令中添加--max-http-header-size参数并指定进程名
正确操作方案
方案1:直接单行命令启动
如果你是直接通过node启动入口文件,使用如下命令即可同时指定进程名和node参数:
pm2 start app.js --name "scraper" --node-args="--max-http-header-size=15000"
如果你习惯用npm start启动,只需要先修改项目的package.json里的启动脚本:
{ "scripts": { "start": "node --max-http-header-size=15000 app.js" } }
再用你之前正常设置进程名的命令启动即可:
pm2 start npm --name "{REPONAME}" -- start
方案2:配置文件启动(更适合多服务部署场景)
在项目根目录新建ecosystem.config.js,写入如下配置:
module.exports = { apps : [{ // 自定义进程名 name: "scraper", // 入口文件路径 script: "app.js", // 传给node的参数 node_args: "--max-http-header-size=15000" // 其他配置项如环境变量、实例数等都可以在这里统一配置 }] }
之后只需要执行以下命令就能启动,后续重启、重载配置都更方便:
pm2 start ecosystem.config.js
错误命令原因说明
pm2的命令规则是:--分隔符前的参数是pm2自身的配置参数,分隔符后的参数会传给你要启动的脚本/程序。你之前的尝试要么把进程名参数放到了--之后导致pm2识别不到,要么没有指定node参数的归属,所以不生效。
内容的提问来源于stack exchange,提问作者TriThomas
相关产品推荐
相关产品推荐

