pm2简介

  • pm2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等。
  • 工作中遇到服务器重启后,需要一个个去重新启动每个服务,这样不仅繁琐、效率低,而且容易忘开启某些服务,那么使用pm2就可以解决这个问题。
  • 通常说到PM2,都是在说如何部署nodejs程序,但是实际上PM2很强大,不仅可以用来管理Nodejs,它还可以用来管理Python、PHP、Ruby等

pm2安装和目录

1、全局安装pm2

npm install -g pm2

2、安装完成之后,会自动创建以下目录

/.pm2/logs      // 包括所有应用的日志
/.pm2/pids      // 包括所有应用的 pids
/.pm2/dump.pm2  // 开机自启动配置
/.pm2/pm2.log   // pm2 日志
/.pm2/pm2.pid   // pm2 pid

启动Node(Express)

pm2 start ./bin/www –watch

dns查询

  • –watch 参数,意味着当你的express应用代码发生变化时,pm2会帮你重启服务

启动Python

  • 使用PM2启动应用非常简单,它将根据脚本扩展自动匹配解释器,用以运行指定的应用程序。
    如下hello.py
#!/usr/bin/python
import time

while 1:
    print("Start: %s" % time.ctime())
    time.sleep(1)

pm2 start hello.py

dns查询

到这一步,这个Python程序就将永远的运行下去,这意味着如果该进程退出或者抛出异常,它将被自动重启。
此处的mode为fork,当关闭当前的Terminal窗口,它依然可以检查到此应用的状态。
pm2 ls 命令可查看pm2运行管理

检查日志

pm2 logs

  • 某个进程的log,可以使用

    pm2 logs

  • 自动化的日志轮换功能,需安装 pm2-logrotate

    pm2 install pm2-logrotate