pm2 start命令中的json格式详解
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
就像苏南大叔所说的那样,pm2 start npm -- start
这条命令是pm2的万能命令,pm2 start <json>
,就是这一系列命令中的最豪华命令。
基本姿势
这个json我们可以理解为一个任务参数描述文件。通过这个json文件,我们把在命令行里面不好描述的各种参数放到一个json文件里面来。
pm2 start <json>.json
最精简版本
{
"name": "manage", //项目名称
"script": "./bin/www", //要执行的脚本
"cwd":"./", //项目所在目录
}
执行sh文件版本
{
"name": "manage", //项目名称
"script": "./bin/www.sh", //要执行的脚本
"cwd":"./", //项目所在目录
"exec_interpreter": "bash",
}
设置文件监控版本,文件变动,就重启服务
{
"name": "manage", //项目名称
"script": "./bin/www", //要执行的脚本
"cwd":"./", //项目所在目录
"watch":[ //添加受监控的文件,以便自动更新
"models",
"routes"
],
"ignore_watch" : [ //不监视的文件
"node_modules",
"client/img"
],
"watch_options": { //监视配置,具体见 http://pm2.keymetrics.io/docs/usage/watch-and-restart/
"followSymlinks": false
}
}
设置log位置
{
"name": "manage", //项目名称
"script": "./bin/www", //要执行的脚本
"cwd":"./", //项目所在目录
"log_file": "<yourpath>/combined.outerr.log",
"out_file": "<yourpath>/out.log",
"error_file": "<yourpath>/err.log",
}
实战例子demo
下面的这个pm2.json来自于开源软件cmswing
。大家可以看到,在苏南大叔所描述的最简单的demo的基础上,又增加了新的参数定义。
{
"apps": [{
"name": "CMSWing",
"script": "production.js",
"cwd": "/home/www.cmswing.net",
"exec_mode": "fork",
"max_memory_restart": "1G",
"autorestart": true,
"node_args": [],
"args": [],
"env": {
}
}]
}
当然,pm2的参数还有很多很多很多,这里仅仅是个范例demo,更多的参数可以点击这里,查看官方文档。http://pm2.keymetrics.io/docs/usage/cluster-mode/ 。
结语
感谢您的阅读,欢迎继续关注苏南大叔的pm2相关文章。https://newsn.net/tag/pm2/ 。
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。