命令和配置

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...
目录
文章列表
王小扬博客
产品
Think
Git
软件开发
计算机网络
CI
DB
设计
缓存
Docker
Node
操作系统
Java
大前端
Nestjs
其他
PHP