本文由go语言教程栏目给大家聊聊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/mainautostart=trueautorestart=trueuser=rootnumprocs=1redirect_stderr=truestdout_logfile=/var/log/supervisor/go.logdirectory=/data/go/test
如有 supervisor 配置 golang 更好的方式或其它的欢迎留言