supervisor用为golang后台创建守护进程

supervisor用为golang后台创建守护进程,第1张

概述supervisor是一个unix的系统进程管理软件,可以用它来管理apache、nginx等服务,若服务挂了可以让它们自动重启。下面基于centos 6.6,描述下具体实现: sudo yum install python-setuptoolssudo easy_install supervisor 如果没有看到什么报错,那么就安装成功了,可以使用echo_supervisord_conf查看

supervisor是一个unix的系统进程管理软件,可以用它来管理apache、Nginx等服务,若服务挂了可以让它们自动重启。下面基于centos 6.6,描述下具体实现:

sudoyuminstallpython-setuptoolssudoeasy_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/testdirectory=/usr/local/ponpon/gowork/src/testautostart=trueautorestart=truestartsecs=10stdout_logfile=/var/log/stdout.logstdout_logfile_maxbytes=1MBstdout_logfile_backups=10stdout_capture_maxbytes=1MBstderr_logfile=/var/log/stderr.logstderr_logfile_maxbytes=1MBstderr_logfile_backups=10stderr_capture_maxbytes=1MB

几个配置说明:

command:表示运行的命令,填入完整的路径即可。

directory:表示cd到应用的目录下
autostart:表示是否跟随supervisor一起启动。
autorestart:如果该程序挂了,是否重新启动。
stdout_logfile:终端标准输出重定向文件。
stderr_logfile:终端错误输出重定向文件。

最后启动supervisor

sudo/usr/bin/supervisord-c/etc/supervisord.conf

如果提示/tmp/supervisord.sock 报错,删除/tmp/supervisord.sock重新启动supervisor即可

总结

以上是内存溢出为你收集整理的supervisor用为golang后台创建守护进程全部内容,希望文章能够帮你解决supervisor用为golang后台创建守护进程所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1287975.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)