go 守护进程部署
来源:互联网 发布:java标识符 编辑:程序博客网 时间:2024/06/08 19:49
supervisor是一个unix的系统进程管理软件,可以用它来管理apache、nginx等服务,若服务挂了可以让它们自动重启。 下面基于 centos 6.6, 描述下具体实现:
sudo yum install python-setuptoolssudo easy_install supervisor
如果没有看到什么报错,那么就安装成功了,可以使用echo_supervisord_conf查看配置详情,而后生成配置文件。
sudo echo_supervisord_conf > /etc/supervisord.conf
假设如下一段简单的golang代码:
package
main
import
(
"fmt"
"log"
"net/http"
)
func
main() {
http.HandleFunc(
"/"
,
func
(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w,
"Hello world"
)
})
err := http.ListenAndServe(
":9090"
, nil)
if
err != nil {
log.Fatal(
"ListenAndServe: "
, err)
}
}
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即可
- go 守护进程部署
- go lang 后台(守护进程)运行(daemon)
- Linux+Nginx+Asp.net Core及守护进程部署
- 守护进程守护自身
- 守护线程、守护进程
- 守护进程
- 守护进程
- 守护进程
- 守护进程
- 进程守护
- 守护进程
- 守护进程
- 守护进程
- 守护进程
- 守护进程
- 守护进程
- 守护进程
- 守护进程
- C语言二维字符数组的运用—模拟对话
- Linux--RH254---rh254exam
- if语句、三元运算 、switch
- 回文算法挑战
- qt QTableWidget&&QTableView 导出数据到excel
- go 守护进程部署
- Maven配置阿里云镜像
- PHP Composer 依赖管理器
- AlphaGo围棋论文中文翻译
- Golang开发入门(Linux)
- android中商品展示案例
- 优先级和类型转换分析
- 关于网页js判断"客户端设备类型是移动端还是PC端"的解决方法?
- addEventListener() 事件监听