supervisor用为golang后台创建守护进程
supervisor是一个unix的系统进程管理软件,可以用它来管理apache、nginx等服务,若服务挂了可以让它们自动重启。下面基于centos 6.6,描述下具体实现:
sudoyuminstallpython-setuptools sudoeasy_installsupervisor
如果没有看到什么报错,那么就安装成功了,可以使用echo_supervisord_conf查看配置详情,而后生成配置文件。 sudoecho_supervisord_conf>/etc/supervisord.conf 假设如下一段简单的golang代码: package
main
import
(
"fmt"
"log"
"net/http"
)
func
main() {
http.HandleFunc(
"/"
,
(w http.ResponseWriter,r *http.Request) {
fmt.Fprintf(w,
"Hello world"
)
})
err := http.ListenAndServe(
":9090"
if
err != nil {
log.Fatal(
"ListenAndServe: "
}
}
go build编译,在/usr/local/ponpon/gowork/src/test/生成可执行文件test。 编辑/etc/supervisord.conf,在最后增加运行程序设置 [program:go-http-server] command=/usr/local/ponpon/gowork/src/test/test directory=/usr/local/ponpon/gowork/src/test autostart=true autorestart=true startsecs=10 stdout_logfile=/var/log/stdout.log stdout_logfile_maxbytes=1MB stdout_logfile_backups=10 stdout_capture_maxbytes=1MB stderr_logfile=/var/log/stderr.log stderr_logfile_maxbytes=1MB stderr_logfile_backups=10 stderr_capture_maxbytes=1MB 几个配置说明:
最后启动supervisor
sudo/usr/bin/supervisord-c/etc/supervisord.conf 如果提示/tmp/supervisord.sock 报错,删除/tmp/supervisord.sock重新启动supervisor即可 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |