pm2模块编写入门
PM2 模块
PM2模块是通过PM2来安装和管理,代码可以托管在NPM中。任何人都可以创建和发布一个PM2模块,可以是日志模块、http代理模块、负载均衡模块、DNS服务器模块或任何类型的实用程序。
管理模块
管理PM2模块是非常简单的:
# Install
$ pm2 install <module-name>
# Update a module
$ pm2 install <module-name>
# Install a module from GitHub (username/repository)
$ pm2 install pm2-hive/pm2-docker
# Force module restart
$ pm2 restart <module-name>
# Get more informations
$ pm2 describe <module-name>
# Install a module in dev mode from local folder
$ pm2 install .
# Generate a module boilerplate
$ pm2 module:generate <module-name>
# Uninstall module
$ pm2 uninstall <module-name>
# Publish new module (Inc Semver + Git push + NPM publish)
$ pm2 publish
创建PM2模块
通过PM2脚手架来引导创建模块
$ pm2 module:generate <module-name>
通过PM2来运行
$ cd <module-name>
$ pm2 install .
当你修改该模块源码时,PM2会自动重启该模块。
显示模块的日志信息:
$ pm2 logs <module-name>
删除已安装的PM2模块
$ pm2 uninstall <module-name>
Package.json 语法糖
关于模块的信息可以添加到package.json文件中。
你可以在config字段中定义你的配置:
Example:
{
"name": "pm2-logrotate",
"version": "1.0.0",
"description": "my desc",
"dependencies": {
"pmx": "latest"
},
"config": {
"days_interval" : 7,
"max_size" : 5242880
},
"apps" : [{ // 模块运行配置项
"script" : "index.js",
"merge_logs" : true,
"max_memory_restart" : "200M"
}],
"author": "imweb",
"license": "MIT"
}
定义缺省配置,这些值可以通过命令pm2 set <module-name>:<attr> <val>来重写
在模块初始化中使用pmx.initModule(),将会返回config中的缺省配置。
$ pm2 set server-monitoring:days_interval 2
NOTE1:这些配置都会写在~/.pm2/module_conf.json,你可以手动修改他。
NOTE2:可以通过命令pm2 conf [module-name]来打印配置信息。
NOTE3:当你给扩展模块设置一个新的值时,扩展模块会自动重启。
NOTE4:PM2 会对配置值自动转换类型(Boolean, Number, String)
模块入口
var pmx = require('pmx');
var conf = pmx.initModule({
// Override PID to be monitored
pid : pmx.resolvePidPaths(['/var/run/redis.pid']),
}, function(err, conf) {
// Now the module is initialized
require('./business_logic.js')(conf);
});
发布模块
$ cd my-module
$ pm2 publish
pm2模块编写入门的更多相关文章
- 【转】Nginx模块开发入门
转自: http://kb.cnblogs.com/page/98352/ 结论:对Nginx模块开发入门做了一个helloworld的示例,简单易懂.也有一定的深度.值得一看. Nginx模块开发入 ...
- Nginx模块开发入门
前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并 ...
- [转] Nginx模块开发入门
前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并 ...
- nginx自定义模块编写-根据post参数路由到不同服务器
nginx可以轻松实现根据不同的url 或者 get参数来转发到不同的服务器,然而当我们需要根据http包体来进行请求路由时,nginx默认的配置规则就捉襟见肘了,但是没关系,nginx提供了强大的自 ...
- Nginx模块开发入门(转)
前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并 ...
- Nginx模块开发入门(转)
前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并 ...
- Nginx自定义模块编写:根据post参数路由到不同服务器
Nginx自定义模块编写:根据post参数路由到不同服务器 2014-05-05 15:27 blogread IT技术博客 字号:T | T Nginx可以轻松实现根据不同的url 或者 get参数 ...
- FW: Nginx模块开发入门
前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并 ...
- nginx自定义模块编写-实时统计模块--转载
原文:http://www.vimer.cn/2012/05/nginx%E8%87%AA%E5%AE%9A%E4%B9%89%E6%A8%A1%E5%9D%97%E7%BC%96%E5%86%99- ...
随机推荐
- hibernate的开始
1.1对象的持久化 对象持久化是指将内存中的对象保存到可永久保存的存储设备中(如磁盘)的一种技术.(hibernate是通过id来管理对象) 1.2怎样实现持久化 1 对象序列化 2 JDBC 3 O ...
- 孤儿进程VS僵尸进程
我们知道在unix/linux中,正常情况下,子进程是通过父进程创建的,子进程在创建新的进程.子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束. 当一个 进程完成 ...
- java 查询路径中所有文件夹和文件的名称,支持文件名模糊查询
java 查询路径中所有文件夹和文件的名称,支持文件名模糊查询 有时候我们遇到需要查询服务器或者本机某个路径下有哪些文件?或者根据文件名称模糊搜索文件,那么就可以使用本方法:可以获取某个路径下所有文件 ...
- CentOS7下Mysql 5.6.30安装与配置
环境:centos 7 x64 先下载mysql安装包 打开 http://dev.mysql.com/downloads/mysql/ 选择 linux - Generic 再选择 下载完毕后,得 ...
- win7安装oracle 10g问题总结。
1.安装oracle10g的时候,出现此问题,如图: 右键安装程序(setup.exe) -> 属性 -> 兼容性 -> 以兼容模式运行这个程序 windows xp( servi ...
- excel 上传读写到数据库
<HTML> <div class="input-group"> <form id="abc" action="http ...
- CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-8CDH5安装和集群配置
Cloudera Manager Server和Agent都启动以后,就可以进行CDH5的安装配置了. 准备文件 从 http://archive.cloudera.com/cdh5/par ...
- Codeforces Round #553 (Div. 2) C题
题目网址:http://codeforces.com/contest/1151/problem/C 题目大意:给定奇数集和偶数集,现构造一个数组,先取奇数集中一个元素1,再取偶数集二个元素2,4,再取 ...
- @RefreshScope 配置方法
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> < ...
- go安装依赖包
实例 比如先切换到 $GOPATH 的 src 目录,cd $GOPATH/src,然后按需要下载: git clone --depth 1 https://github.com/golang/too ...