文章目录
- golang gin 服务器部署
- 前言
- 基本流程
- 1、build 项目
- 2、写执行脚本
- 3、创建一个 service 配置文件
- 4、启动
- 5、配置反向代理和ssl证书
golang gin 服务器部署
前言
golang
使用gin
开发完毕后,切不可直接运行或者使用go run
这种形式,比较正规的做法是,利用linux
的服务去管理,不然ssh
一退出,网站就停止了。
基本流程
简略流程如下:
-
build
出一个可执行文件 - 写一个
sh
文件,用来执行这个文件 - 配置
service
- 启动
- 其他配置(反向代理、
ssl
证书等)
下面具体叙述
1、build 项目
我的项目中,主文件为
执行:
go build
则生成了一个新文件main
对其设置权限,这里用了777
,因为有时候使用宝塔面板
的时候,它的用户是www
.
chmod 777 main
2、写执行脚本
新建一个文件
vim
里面写这样的内容:
#!/bin/bash
# 设置为 release 生产模式
export GIN_MODE=release
# 切换到路径下,这样才能够使用和开发时候一样的相对路径
cd main文件所在的绝对路径
# 启动 build 后的可执行文件
./main
里面路径自行替换。
这里有两点需要注意的地方:
- 顶部的
#!/bin/bash
必不可少,如果少了这个,服务会无法启动。 - 使用先
cd
后执行的方式,可以让程序能够找到相对路径下的文件。
3、创建一个 service 配置文件
输入命令创建:
vim /lib/systemd/system/
其中mpgo
为服务名称,以后启动都是这个名称。
里面写这样的内容:
[Unit]
Description=mpgo
[Service]
Type=simple
Restart=always
RestartSec=3s
ExecStart=文件的完整路径
[Install]
WantedBy=
路径需要自行替换
说明如下:
-
Description
是对这个服务的描述 -
Restart=always
服务异常退出时会重启 -
RestartSec=3s
设置重启间隔为3
秒 -
ExecStart=文件的完整路径
这个服务会执行这个文件 -
WantedBy=
所有用户都可以执行
4、启动
启动:
service mpgo start
重启:
service mpgo restart
停止:
service mpgo stop
状态:
service mpgo status
5、配置反向代理和ssl证书
这里推荐直接安装宝塔面板,里面有图形化界面操作。
步骤简略为:
-
反向代理:
新建静态网站 --> 绑定域名 --> 网站设置中的反向代理 --> 代理80
端口到golang
的端口 -
ssl
证书
宝塔面板中可以一键申请。