如何向PM2传递参数?Node服务启动时多参数传递失败求助
PM2传递Node程序参数的正确方式
直接使用正确的命令格式:
你之前的命令多了一个多余的--,正确的写法是用单个--分隔PM2自身选项和要传给Node应用的参数:pm2 start server.js --name server1 -- ./config.json 9000PM2的规则是:
--之后的所有内容都会原封不动传递给你的Node应用,和直接执行node server.js ./config.json 9000完全等效。验证参数是否生效:
在你的server.js里加一行代码打印参数:console.log('收到的参数:', process.argv.slice(2));启动后执行
pm2 logs server1查看日志,正常情况下会输出[ './config.json', '9000' ],说明参数已经正确传递。更省心的配置文件方案:
如果需要频繁启动或管理多个服务,建议用PM2的配置文件(比如ecosystem.config.js)来定义参数,避免命令行输入出错:module.exports = { apps: [ { name: 'server1', script: 'server.js', args: './config.json 9000' } ] };启动时直接执行:
pm2 start ecosystem.config.js
内容的提问来源于stack exchange,提问作者yarek
相关产品推荐
相关产品推荐

