Golang 进程守护 Supervisor

1、安装 Supervisor

安装 supervisor

2、生成 Golang 可执行程序

进入 golang 项目根目录 cd /data/go/test,运行 go build -o main main.go 生成可执行程序,可选:再使用 upx main 压缩

3、编辑 supervisor go 的配置文件

  • 重点: command 值『必须』绝对路径

  • 重点: directory 值『必须』配置(有非 go 结尾的配置文件时必须)
    看到网上有不少文章并未配置 directory 也能成功启动,经过排查与查阅资料,定位到是 directory 的作用是主程序启动时,切换到这个目录,寻找主程序的配置文件目录。如项目中有非 go 结尾的配置文件,这个目录是『必须』配置。directory作用:主程序启动时的配置文件目录

    [program:go]
    ;process_name=%(program_name)s_%(process_num)02d
    ; command 值『必须』为绝对路径
    command=/data/go/test/main
    autostart=true
    autorestart=true
    user=root
    numprocs=1
    redirect_stderr=true
    stdout_logfile=/var/log/supervisor/go.log
    directory=/data/go/test

    如有 supervisor 配置 golang 更好的方式或其它的欢迎留言

本作品采用《CC 协议》,转载必须注明作者和本文链接
光年之外
讨论数量: 1

感觉还是 Systemd 管理比较好

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!