命令和配置
pm2
安装
1、常用命令
- pm2 start app.js # 启动,守护进程。自动重启应用程序,加环境变量,比如配置 env_pro --> 加 --env pro
- pm restart # 重启
- pm2 stop # 停止 参数 = id|name|all|json|stdin
- pm2 delete| del # 删除 参数 = name|id|script|all|json|stdin
2、集群模式
- pm2 start app.js -i 4 # 参数 = 数字|max 在集群模式下,启动4个应用程序实例 同时,将网络请求,负载均衡到每个应用实例
- pm2 reload all # 0秒重启所有应用
pm2 scale appName 10 # 将应用进程调整到10
- pm2 reset appName # 重置所有计数器
3、 进程监控
- pm2 list|ls # 列出所有用PM2启动的进程
- pm2 monit # 显示每个应用占用的cpu和内存
- pm2 show appName or id # 显示某个进程的所有信息
4、日志管理
- pm2 logs # 显示所有应用的日志
- pm2 logs appName # 显示某个应用的日志
- pm2 logs --json # json化日志
- pm2 flush # 刷新日志
- pm2 reloadLogs # 重新加载所有日志
5、启动/引导管理
- pm2 startup # 检测init系统,在启动时生成和配置pm2
- pm2 save # 保存当前进程列表
- pm2 resurrect # 恢复以前保存的进程。
- pm2 unstartup # 停用和删除启动系统
- pm2 update # 保存进程,终止PM2并恢复进程
- pm2 generate # 生成样本json配置文件。
6、部署
- pm2 deploy app.json prod setup # 设置“生产环境”远程服务器。
- pm2 deploy app.json prod # 更新“生产环境”远程服务器。
- pm2 deploy app.json prod revert 2 # 将“生产环境”远程服务器恢复2。
7、模块系统
- pm2 module:generate [name] # 生成名称为[name]的示例模块。
- pm2 install pm2-logrotate # 安装模块(这里是日志循环系统)。
- pm2 uninstall pm2-logrotate # 卸载模块。
- pm2 publish # 增量版本,git push和npm发布。
options具有以下选项的对象(这些选项的其他说明在此处):
在pm2基础上,Nginx配置upstream实现负载均衡
- netstat -nptl 查看nginx启动服务的端口
nginx集群
在http节点下,加入upstream节点。
1、轮询(weight)
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。默认当weight不指定时,
各服务器weight相同,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除
2、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session不能跨服务器的问题。如果后端服务器down掉,要手工down掉。
将server节点下的location节点中的proxy_pass配置为:http:// + server_name,即“ http://server_name”.
语法规则: location [=|~|~*|^~] /uri/ { … }
= 开头表示精确匹配
^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。以xx开头
~ 开头表示区分大小写的正则匹配 以xx结尾
~* 开头表示不区分大小写的正则匹配 以xx结尾
!~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则
/ 通用匹配,任何请求都会匹配到。
......
详细配置参考文档
{
"appid": "86101",
"secret": "e3451864f244046d6a7b8fed836dff9701659fd3"
}
CI工具
- Travis-CI
Travis CI 提供的是持续集成服务(Continuous Integration,简称 CI)
Loading...