我需要能够使用pm2启动下面的应用程序,但不知道如何使用pm2启动它。
node --expose-gc bin/www arg1 arg2 arg3
我知道--node-args
,但我认为仅适用于--expose-gc。
答案 0 :(得分:22)
经过一番挖掘后,我发现我所寻找的是linux上的双击。
正常代码,
node --expose-gc bin/www arg1 arg2 arg3
使用pm2的相同代码
pm2 start bin/www --node-args="--expose-gc" -- arg1 arg2 arg3
你必须在--node-args
内放入所有v8参数,并且必须在双击之后从process.argv
抓取所有的dats参数。
我希望将来他们实现一些链接--script-args =" arg1 arg2 arg3"。对那些不是Linux专家的人来说非常好。
答案 1 :(得分:18)
另一种方法是创建应用程序声明json文件,您可以在其中指定args
键。查看PM2网站上的documentation。
pm2.json
文件的示例:
{
"apps" : [{
"name" : "appname",
"script" : "app.js",
"args" : ["-s", "123"],
"node_args" : "--harmony",
"merge_logs" : true,
"cwd" : "/this/is/a/path/to/start/script",
"env": {
"NODE_ENV": "production"
}
}]
}
按如下方式运行:
$ pm2 start pm2.json
答案 2 :(得分:2)
您可以在-x --
,
pm2 start app.js -x -- --prod
和节点参数为--node-args="--harmony"
pm2 start app.js --node-args="--harmony"
<强>两个强>
pm2 start app.js --node-args="--harmony" -x -- --prod
答案 3 :(得分:1)
我必须在pm2 process.js中暴露-cc,所以我做了以下操作:
{
"apps" : [
{
"name" : "app",
"script" : "bin/www",
"instances" : 2,
"exec_mode" : "cluster",
"watch" : false,
"node_args" : "--expose-gc",
"env" : {"NODE_ENV": "development"}
}
]
}