GO 编写的进程管理工具 Gosuv
Gosuv是一个进程管理工具,使用Go语言编写。与python-supervisor的功能和用法类似。
一、Gosuv的特点:
Web控制台部分做了重点加强,因为使用频率太高了,在网页上现在可以直接添加先的应用,网页查看日志的部分也做了优化,查看起来没有这么费劲了。使用了websocket连接后端,状态一有变化,前台就能立刻看到变化。
reload命令不在是重启的命令,而是重新读取配置文件,并应用已经更改的那部分。
日志部分对于带有ansi color的输出,再也不会报XML RPC错误了,这个只有用python的xml rpc库才会出这个问题,用Go语言写自然不会有这个问题。
配置文件也被我全部换成yaml格式的了,修改起来方便很多。所以的配置全部都放在了一个文件中,方便程序自动化的管理。
增加的CPU和内存的监控
默认killasgroup,所有启动程序在停止后,不会有残余的进程
加入了fatal状态的pushover通知的功能
支持了github的webhook,在github代码更新的时候,可以触发更新命令,并重启程序
gosuv程序加入了自更新功能
二、部署环境
法1:
curl https://raw.githubusercontent.com/codeskyblue/gosuv/master/get.sh | bash
法2:直接下载源码压缩包,解压直接启动即可(百度云连接如下)
链接:https://pan.baidu.com/s/1Xwh4M_3JoSBygTFyW4HnNQ 密码:x5qp
官方文档:
对,你没看错就一条命令,搞定,详细信息及使用方法,可以参考官方文档
三、配置gosuv
1) 启动服务
[root@backup ~]# gosuv start-serverserver started, listening on 0.0.0.0:11313
2)查看状态
[root@backup ~]# gosuv status
3)重启单个进程
$ gosuv stop test$ gosuv start test
4)web访问
http://localhost:11313
5)添加访问 用户密码认证功能
[root@backup ~]# cat /root/.gosuv/config.yml server: httpauth: enabled: true ##将false改为true 开启认证模式 username: 用户名 password: 密码 addr: :11313client: server_url: http://localhost:11313
重启服务
$ gosuv shutdown 关闭程序$ gosuv start-server
三、使用效果
GIF效果图