Golang 项目部署

32 篇文章 0 订阅
17 篇文章 0 订阅

Go 语言项目部署, Go 项目部署

注:本教程不包含golang编译部分,请自行编译;项目使用supervisor进行部署。

supervisor详细操作可以参考:Supervisor 配置详解

问题可以参考:error: <class 'FileNotFoundError'>, [Errno 2] No such file or directory: file: /usr/lib/python3/dist-packages/supervisor/xmlrpc.py line: 560

安装epel(已安装可以忽略)

yum install epel-release

安装supervisor

Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。supervisor还提供了一个功能,可以为supervisord或者每个子进程,设置一个非root的user,这个user就可以管理它对应的进程。

yum install supervisor

配置supervisor

supervisor的配置文件是/etc/supervisord.conf,需要做下修改

需要将下图中原本是.ini的配置文件后缀改为.conf(自己喜欢,可以不改),配置中的supervisord.d即是项目的配置目录

补充supervisor命令

supervisorctl status       # 查看所有任务状态
supervisorctl shutdown     # 关闭所有任务
supervisorctl start 程序名  # 启动任务
supervisorctl stop 程序名   # 关闭任务
supervisorctl reload       # 重启supervisor

部署Go项目

在supervisord.d项目目录下新建test.conf配置文件,按照以下配置进行填写,注意程序名称,以及编译后的程序运行位置

[program:bluebell]  ;程序名称
user=root  ;执行程序的用户
command=/data/app/bluebell/bin/bluebell /data/app/bluebell/conf/config.yaml  ;执行的命令,即编译后的程序文件位置
directory=/data/app/bluebell/ ;命令执行的目录
stopsignal=TERM  ;重启时发送的信号
autostart=true  
autorestart=true  ;是否自动重启
stdout_logfile=/var/log/bluebell-stdout.log  ;标准输出日志位置
stderr_logfile=/var/log/bluebell-stderr.log  ;标准错误日志位置

启动Go项目

启动supervisor,并查看相应项目运行情况

supervisord -c /etc/supervisord.conf    # 启动supervisor

supervisorctl status hbxm     # 查看项目运行情况

测试

如图,项目接口访问成功

其它

外网访问配合nginx做反向代理就好了

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值