宝塔面板安装go-fly利用supervisor实现GO语言进程守护

宝塔面板安装go-fly利用supervisor实现GO语言进程守护

zzmzaizai
2022-02-22 / 0 评论 / 656 阅读 / 正在检测是否收录...

最近做个项目,需要一个在线客服系统,发现go语言写的 "go-fly" 比较好用。

地址:https://github.com/taoshihan1991/go-fly

这个软件部署起来不难,但是碰到个问题,项目运行一段时间,进程就会挂,自带的进程守护不起作用。

这时候我想到我服务器用的宝塔,带有supervisor管理器,还是带图形界面的,之前用过很多次,但是go语言还没有添加过。经过多方尝试,终于知道go如何在supervisor中设置进程守护

这里我详细描述整个部署过程:

  1. 首先在宝塔中创建一个静态站点 a.test.com
  1. 将编译好的程序放入站点目录,也可以去下现成的。
  1. 修改数据库配置文件

/wwwroot/a.test.com/config/mysql.json

  1. 在后台文件管理切换到该目录,终端命令中输入安装命令

./go-fly-64 install

由于官方命令中不带 -64或者-32导致找不到文件,需要自己变通下。

  1. 添加supervisor进程守护
    Test

操作到这里,客服站点其实就可以使用了,默认端口号为8081

http://0.0.0.1:8081

这里,我们还需要设置站点的反向代理
Test

设置好反向代理后,我们还需要添加反向代理的配置,否则WS服务无法正常启动

#PROXY-START/
location /
{
    proxy_pass http://127.0.0.1:8081;
    proxy_http_version 1.1;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Origin "";
    
    add_header X-Cache $upstream_cache_status;
    
    #Set Nginx Cache
    
        add_header Cache-Control no-cache;
    expires 12h;
}

#PROXY-END/
0

评论

博主关闭了当前页面的评论