[英]Argument passing to PM2
我想投入生产节点服务:当我使用 arguments 启动我的应用程序时: node./backend -c "uf4m6fhnh" -s "SPNLGZsUoSpQ=" -o "8696"
。 一切正常。
现在我想将它与 PM2 一起投入生产:我尝试了两种方法(CLI 和 JSON 文件),如下所示:
命令行版本:
pm2 start backend.js --node-args="-c uf4lvm6fhnh -s SPNLGZsUoSpQ= -o 8696" --name MyAppName
并且:
pm2 start backend.js --name MyAppName -- "-c uf4lvm6fhnh -s SPNLGZsUoSpQ= -o 8696"
配置文件(JSON):
{
"apps": [
{
"name": "MyAppName ",
"script": "./backend.js",
"node_args": [
"-c",
"uf4lvm6fhnh",
"-s",
"SPNLGZsUoSpQ=",
"-o",
"8696"
]
}
]
}
然后: pm2 start myConfigJson.json
对于每个可能的解决方案,我的pm2 logs
中都有相同的错误: Error: Cannot find module '/home/me/Projects/Project/uf4lvm6fhnh'
(请注意,未找到的模块是我传递的参数)
有任何想法吗?
请改用args
。
node_args
是interpreter_args
参数的别名,它将 arguments 传递给节点本身,而不是脚本。 结果,您的命令行最终会调用-c|--check
节点本身。
请参阅http://pm2.keymetrics.io/docs/usage/pm2-doc-single-page/#programmatic-api和https://nodejs.org/api/cli.html#cli_c_check
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.