最近做个项目,需要一个在线客服系统,发现go语言写的 "go-fly" 比较好用。
地址:https://github.com/taoshihan1991/go-fly
这个软件部署起来不难,但是碰到个问题,项目运行一段时间,进程就会挂,自带的进程守护不起作用。
这时候我想到我服务器用的宝塔,带有supervisor管理器,还是带图形界面的,之前用过很多次,但是go语言还没有添加过。经过多方尝试,终于知道go如何在supervisor中设置进程守护
这里我详细描述整个部署过程:
1. 首先在宝塔中创建一个静态站点 a.test.com
2. 将编译好的程序放入站点目录,也可以去下现成的。
3. 修改数据库配置文件
/wwwroot/a.test.com/config/mysql.json
4. 在后台文件管理切换到该目录,终端命令中输入安装命令
./go-fly-64 install
由于官方命令中不带 -64或者-32导致找不到文件,需要自己变通下。
5. 添加supervisor进程守护
操作到这里,客服站点其实就可以使用了,默认端口号为8081
http://0.0.0.1:8081
这里,我们还需要设置站点的反向代理
设置好反向代理后,我们还需要添加反向代理的配置,否则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/
发表评论 取消回复