ecosystem.config
ecosystem.config.js
module.exports = {
apps : [{
name : 'TOB_NODE',
script : 'app.js',
// 开发环境变量
env: {
NODE_ENV: 'development'
},
// 测试环境变量
env_testing: {
NODE_ENV: 'testing'
},
// 生产环境变量
env_production : {
NODE_ENV: 'production'
},
// 实例个数
instances: 2,
// 集群模式
exec_mode: 'cluster',
// 完整日志路径
output: '/opt/log/tob/node/output.log',
// 错误日志路径
error: '/opt/log/tob/node/error.log',
// 访问日志路径
log: '/opt/log/tob/node/tob-log.log',
// 日志格式
log_type: 'json',
// 合并日志
merge_logs: true,
// 日志日期格式
log_date_format: 'YYYY-MM-DD HH:mm:ss'
}]
};
配置项
name 应用进程名称;
script 启动脚本路径;
cwd 应用启动的路径,关于script与cwd的区别举例说明:在/home/polo/目录下运行/data/release/node/index.js,此处script为/data/release/node/index.js,cwd为/home/polo/;
args 传递给脚本的参数;
interpreter 指定的脚本解释器;
interpreter_args 传递给解释器的参数;
instances 应用启动实例个数,仅在cluster模式有效,默认为fork;
exec_mode 应用启动模式,支持fork和cluster模式;
watch 监听重启,启用情况下,文件夹或子文件夹下变化应用自动重启;
ignore_watch 忽略监听的文件夹,支持正则表达式;
max_memory_restart 最大内存限制数,超出自动重启;
env 环境变量,object类型,如{"NODE_ENV":"production", "ID": "42"};
log_date_format 指定日志日期格式,如YYYY-MM-DD HH:mm:ss;
error_file 记录标准错误流,$HOME/.pm2/logs/XXXerr.log),代码错误可在此文件查找;
out_file 记录标准输出流,$HOME/.pm2/logs/XXXout.log),如应用打印大量的标准输出,会导致pm2日志过大;
min_uptime 应用运行少于时间被认为是异常启动;
max_restarts 最大异常重启次数,即小于min_uptime运行时间重启次数;
autorestart 默认为true, 发生异常的情况下自动重启;
cron_restart crontab时间格式重启应用,目前只支持cluster模式;
force 默认false,如果true,可以重复启动一个脚本。pm2不建议这么做;
restart_delay 异常重启情况下,延时重启时间;
ecosystem.config的更多相关文章
- pm2用法详解+ecosystem.config
对于后台进程的管理,常用的工具是crontab,可用于两种场景:定时任务和常驻脚本.关于常驻脚本,今天介绍一款更好用的工具:pm2,基于nodejs开发的进程管理器,适用于后台常驻脚本管理,同时对no ...
- NodeJs之pm2
pm2 pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能. 开发过程中建议时不时的参看官方详细命令行使用:命令行 pm2 ...
- pm2部署多个nodejs项目配置教程
实际项目部署中,我们服务器在启动的时候需要自动启动node服务.以前是通过liunx自带的命令启动.但是随着后台微服务越来越多.每次发布新程序.修改脚本太麻烦了.于是换成PM2来做. 1.首先安装pm ...
- pm2通过配置文件部署nodejs代码到服务器
一.pm2文档地址: http://pm2.keymetrics.io/ 二.在本地项目下新建ecosystem.config.js文件,并且推送到远端(记得node_modules这个文件夹也得推送 ...
- pm2 常用命令解析
https://blog.csdn.net/chengxuyuanyonghu/article/details/74910875 (以上基本命令解析,一下补充) pm2 ecosystem #在当前 ...
- EXPRESS项目PM2启动NODE_ENV传参数不生效问题解决方法
expree项目开发完,涉及到不同环境,要在启动到时候就要配置好环境变量, packge.json文件如下: "scripts": { "dev": " ...
- 使用pm2离线部署nodejs项目
1.下载https://npm.taobao.org/mirrors/node/v8.11.1/node-v8.11.1-linux-x64.tar.xz 比如安装到/opt目录 xz -d node ...
- nuxt docker 运行
nuxt 是vue 版的next ,实现的功能还是很方便的,对于需要开发性能要求比较高的web app 是一个很不错的选择 备注: 项目很简单,使用docker && docker-c ...
- pm2 官方文档 学习笔记
一.安装 1.安装 npm install pm2 -g 2.更新 npm install pm2 -g && pm2 update pm2 update 是为了刷新 PM2 的守护进 ...
随机推荐
- cmake 编译安装mysql5.5.32
1.安装cmake 上传tar包 rz cmake-2.8.8.tar.gz 解压tar包,并进入解压后的文件夹 tar xf cmake-2.8.8.tar.gz cd cmake-2.8.8 编译 ...
- java多线程回顾1:线程的概念与创建
1.进程与线程的概念 现在几乎所有操作系统都支持多任务,通常一个任务就是一个程序,一个运行中的程序就是一个进程.当一个程序行时,其内部也可能在执行多个任务,进程内每一个任务的执行流,就是一个线程. 所 ...
- git回退之git reset
参考 https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E9%87%8D%E7%BD%AE%E6%8F%AD%E5%AF%86 https: ...
- Xshell选中的同时把内容复制到剪贴板
1.设置对话框 工具 -> 选项 -> 键盘和鼠标 -> 将选定的文本自动复制到剪贴板 2.贴图如下 2.1.打开设置对话框 2.2.设置键盘鼠标,左键复制
- 比较一下inner join(可直接简写为join)和where直接关联
SELECT * FROM A ,B WHERE A.ID = B.ID 是比较常用的2个表关联.之前一直用这个,后来换了家公司发现这家公司的报表大多数都是用inner join,稍微研究了一下.查阅 ...
- GitHub和Git
GitHub托管项目代码 首先一些基本概念: repository(仓库) 用来存放项目代码,每个项目代表一个仓库,开一个项目就意味着你有一个仓库. star(收藏) 收藏方便下次查找. fork(复 ...
- 学习Java第一步:安装Intellij IDEA和JDK
注:其实真正学习一门新语言的第一步并不是安装开发工具,我是C#转JAVA,有一点编程经验了,所以可以直接跳过前面几步,直接上IDE. 1.下载IntelliJ IDEA [官网] http://www ...
- .Net Core 使用NPOI导入数据
一.搭建环境 1.新建ASP.NET Core Web 应用程序 2.选择API 3.引用Swashbuckle.AspNetCore NuGet 包进行安装. Swashbuckle.AspNetC ...
- 【论文阅读】CornerNet: Detecting Objects as Paired Keypoints
以下内容将介绍ECCV2018的一篇目标检测的文章<CornerNet: Detecting Objects as Paired Keypoints>.该文章讲述了一个老子就是不用anch ...
- .NET高级特性-Emit(2.2)属性
关于Emit的博客已经进入第四篇,在读本篇博文之前,我希望读者能先仔细回顾博主之前所编写的关于Emit的博文,从该篇博文开始,我们就可以真正的使用Emit,并把知识转化为实战,我也会把之前的博文链接放 ...