实践案例
通过pm2来管理go的一个二进制应用,当然也可以管理其他程序进程,如php,js应用等等。
管理一个进程的实现步骤
注意: 以下是基于go二进制程序使用pm2托管的应用的场景,这里就不介绍pm2的安装方式了,安装方式可以自行百度。
- 创建应用的配置文件(基于yaml格式的应用配置文件,也可以是json) 创建一个名称为printtime.yaml配置文件
# yaml格式的配置文件需要特别注意缩进,空格和tab不混用
apps:
# 工作目录
- cwd : /Users/ojbk/program/demo/httpcode
# 指定解释器名称
#interpreter : /bin/bash
# 程序路径
script : ./printTime
# 参数
# args : --help
# 管理进程的名称,方便使用pm2来快捷管理,但os上看到的进程名称是script的名称
name : ptime
# 启动进程的个数
instances : 1
# 执行模式
exec_mode : fork
log_date_format : YYYY-MM-DD:HH:mm:ss
error_file : logs/ptime_error.log
out_file : logs/ptime.log
# 每次启动都是追加日志而不是新建日志文件
merge_logs: true
# 进程异常自动重启
autorestart : true
# 最大重启次数
max_restarts : 3
- pm2创建并启动一个应用程序
- 启动并创建进程运行环境:
pm2 start printtime.yaml
- 启动并创建进程运行环境:
- 任意路径执行pm2相关的命令来管理pm2创建的进程
- 状态/启动/重启/重载:
pm2 status/start/restart/reload ptime
- 日志查看:
pm2 logs ptime
- 查看应用创建信息:
pm2 show ptime
- 删除/监控应用:
pm2 delete/monit ptime
- 状态/启动/重启/重载: