--node-args in PM2 while using json 配置模式
--node-args in PM2 while using json config mode
我有一个问题,那就是如何在使用 json 配置模式时在 PM2 中传递“--node-args”参数,如下所示:
pm2 start --node-args="--debug=5858" myPm2Config.json
嗯,我知道我可以将参数写入 myPm2Config.json 文件,但我不想这样做,因为我想制作两个启动命令作为 "debug" 和 "production" 启动应用程序的模式,例如 "pm2_run" 和 "pm2_debug",以及带有 --node-args 参数的 "pm2_debug" 命令和 "pm2_run" 不,我不想制作两个 "myPm2Config.json" 文件,因为这意味着如果需要更改某些内容,我将需要更改两个 json 配置文件,那么,有什么简单的方法可以做到吗?谢谢大家!
我找到解决办法了!那是使用 js 配置而不是 json 配置。
首先,我创建了一个 pm2.config.js 文件。 (mark:文件名必须以.config.js结尾)
//[pm2.config.js]
let config = {
apps : [{
name : "node_shells",
script : "./bin/www",
log_date_format : "YYYY-MM-DD HH:mm:SS",
log_file : "logs/pm2.log",
error_file : "logs/pm2-err.log",
out_file : "logs/pm2-out.log",
pid_file : "logs/pm2.pid",
watch : true,
ignore_watch : ["logs/*", "node_modules/*", "uploads/*"]
}]
}
let debug_mode = false;
for(let arg of process.argv) {
if(arg == '-debug') {
debug_mode = true;
break;
}
}
if(debug_mode) {
console.log('== launching in debug mode ==');
config.apps[0].node_args = "--debug=5858";
}
else {
console.log('== launching in production mode ==');
config.apps[0].node_args = " "; //*require! or it will always uses latest debug options
}
module.exports = config;
然后,创建两个启动文件:"pm2_run" 和 "pm2_debug"。
#[pm2_run]
pm2 start pm2.config.js
#[pm2_debug]
pm2 start pm2.config.js -- -debug
现在,可以轻松切换调试模式或生产模式!
我有一个问题,那就是如何在使用 json 配置模式时在 PM2 中传递“--node-args”参数,如下所示:
pm2 start --node-args="--debug=5858" myPm2Config.json
嗯,我知道我可以将参数写入 myPm2Config.json 文件,但我不想这样做,因为我想制作两个启动命令作为 "debug" 和 "production" 启动应用程序的模式,例如 "pm2_run" 和 "pm2_debug",以及带有 --node-args 参数的 "pm2_debug" 命令和 "pm2_run" 不,我不想制作两个 "myPm2Config.json" 文件,因为这意味着如果需要更改某些内容,我将需要更改两个 json 配置文件,那么,有什么简单的方法可以做到吗?谢谢大家!
我找到解决办法了!那是使用 js 配置而不是 json 配置。
首先,我创建了一个 pm2.config.js 文件。 (mark:文件名必须以.config.js结尾)
//[pm2.config.js]
let config = {
apps : [{
name : "node_shells",
script : "./bin/www",
log_date_format : "YYYY-MM-DD HH:mm:SS",
log_file : "logs/pm2.log",
error_file : "logs/pm2-err.log",
out_file : "logs/pm2-out.log",
pid_file : "logs/pm2.pid",
watch : true,
ignore_watch : ["logs/*", "node_modules/*", "uploads/*"]
}]
}
let debug_mode = false;
for(let arg of process.argv) {
if(arg == '-debug') {
debug_mode = true;
break;
}
}
if(debug_mode) {
console.log('== launching in debug mode ==');
config.apps[0].node_args = "--debug=5858";
}
else {
console.log('== launching in production mode ==');
config.apps[0].node_args = " "; //*require! or it will always uses latest debug options
}
module.exports = config;
然后,创建两个启动文件:"pm2_run" 和 "pm2_debug"。
#[pm2_run]
pm2 start pm2.config.js
#[pm2_debug]
pm2 start pm2.config.js -- -debug
现在,可以轻松切换调试模式或生产模式!