GO 编写的进程管理工具 Gosuv


Gosuv是一个进程管理工具,使用Go语言编写。与python-supervisor的功能和用法类似。

一、Gosuv的特点

  1. Web控制台部分做了重点加强,因为使用频率太高了,在网页上现在可以直接添加先的应用,网页查看日志的部分也做了优化,查看起来没有这么费劲了。使用了websocket连接后端,状态一有变化,前台就能立刻看到变化。

  2. reload命令不在是重启的命令,而是重新读取配置文件,并应用已经更改的那部分。

  3. 日志部分对于带有ansi color的输出,再也不会报XML RPC错误了,这个只有用python的xml rpc库才会出这个问题,用Go语言写自然不会有这个问题。

  4. 配置文件也被我全部换成yaml格式的了,修改起来方便很多。所以的配置全部都放在了一个文件中,方便程序自动化的管理。

  5. 增加的CPU和内存的监控

  6. 默认killasgroup,所有启动程序在停止后,不会有残余的进程

  7. 加入了fatal状态的pushover通知的功能

  8. 支持了github的webhook,在github代码更新的时候,可以触发更新命令,并重启程序

  9. gosuv程序加入了自更新功能

二、部署环境

法1:

curl https://raw.githubusercontent.com/codeskyblue/gosuv/master/get.sh | bash

法2:直接下载源码压缩包,解压直接启动即可(百度云连接如下)

链接:https://pan.baidu.com/s/1Xwh4M_3JoSBygTFyW4HnNQ 密码:x5qp

    

官方文档:https://github.com/codeskyblue/gosuv

对,你没看错就一条命令,搞定,详细信息及使用方法,可以参考官方文档


三、配置gosuv

1) 启动服务

[root@backup ~]# gosuv start-server
server 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: :11313
client:
  server_url: http://localhost:11313

重启服务

$ gosuv shutdown 关闭程序
$ gosuv start-server


image.png

三、使用效果

GIF效果图