golang gin 服务器部署
文章目录
- golang gin 服务器部署
- 前言
- 基本流程
- 1、build 项目
- 2、写执行脚本 run.sh
- 3、创建一个 service 配置文件
- 4、启动
- 5、配置反向代理和ssl证书
golang gin 服务器部署
前言
golang
使用gin
开发完毕后,切不可直接运行或者使用go run xxx.go
这种形式,比较正规的做法是,利用linux
的服务去管理,不然ssh
一退出,网站就停止了。
基本流程
简略流程如下:
build
出一个可执行文件- 写一个
sh
文件,用来执行这个文件 - 配置
service
- 启动
- 其他配置(反向代理、
ssl
证书等)
下面具体叙述
1、build 项目
我的项目中,主文件为main.go
执行:
go build main.go
则生成了一个新文件main
对其设置权限,这里用了777
,因为有时候使用宝塔面板
的时候,它的用户是www
.
chmod 777 main
2、写执行脚本 run.sh
新建一个文件
vim run.sh
里面写这样的内容:
#!/bin/bash
# 设置为 release 生产模式
export GIN_MODE=release
# 切换到路径下,这样才能够使用和开发时候一样的相对路径
cd main文件所在的绝对路径
# 启动 build 后的可执行文件
./main
里面路径自行替换。
这里有两点需要注意的地方:
- 顶部的
#!/bin/bash
必不可少,如果少了这个,服务会无法启动。 - 使用先
cd
后执行的方式,可以让程序能够找到相对路径下的文件。
3、创建一个 service 配置文件
输入命令创建:
vim /lib/systemd/system/mpgo.service
其中mpgo
为服务名称,以后启动都是这个名称。
里面写这样的内容:
[Unit]
Description=mpgo[Service]
Type=simple
Restart=always
RestartSec=3s
ExecStart=run.sh文件的完整路径[Install]
WantedBy=multi-user.target
路径需要自行替换
说明如下:
Description
是对这个服务的描述Restart=always
服务异常退出时会重启RestartSec=3s
设置重启间隔为3
秒ExecStart=run.sh文件的完整路径
这个服务会执行这个文件WantedBy=multi-user.target
所有用户都可以执行
4、启动
启动:
service mpgo start
重启:
service mpgo restart
停止:
service mpgo stop
状态:
service mpgo status
5、配置反向代理和ssl证书
这里推荐直接安装宝塔面板,里面有图形化界面操作。
步骤简略为:
- 反向代理:
新建静态网站 --> 绑定域名 --> 网站设置中的反向代理 --> 代理80
端口到golang
的端口 ssl
证书
宝塔面板中可以一键申请。
golang gin 服务器部署相关推荐
- gin项目部署到服务器并后台启动
前言 我们写好的gin项目想要部署在服务器上,我们应该怎么做呢,接下来我会详细的讲解一下部署教程. 1.首先我们要有一台虚拟机,虚拟机上安装好go框架. 2.将写好的项目上传到虚拟机上. 3.下载好项 ...
- [golang gin框架] 29.Gin 商城项目-用户登录,注册操作
一.用户登录,注册界面展示说明 先看登录,注册界面以及相关流程,再根据流程写代码,一般网站的登录,注册功能都会在一个页面进行操作,还有的是在几个页面进行操作,这里讲解在几个页面进行注册的操作,步骤如下 ...
- golang gin开发-配置微信公众号接口
文章目录 概要 整体架构流程 技术细节-服务端处理 接口参数 接口处理逻辑 详细代码(golang实现) 小结 概要 在配置微信公众号相关接口,方便后续业务接口配合微信公众号使用时,需要先通过微信公众 ...
- NATS服务器部署及测试
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载. https://blog.csdn.net/chszs/article/details/51002444 NATS服务器部署及测试 作 ...
- 华为云鲲鹏服务器部署文档--java微服务
华为云鲲鹏服务器部署文档 河南中电高科计算机技术有限公司 2020.5.9 适用于java微服务技术栈. CentOS 7.6 64bit ISO 适用于鲲鹏服务器arm架构的CentOS 7.6.1 ...
- 华为云鲲鹏服务器部署文档-修正版-CentOS+java微服务开发
华为云鲲鹏服务器部署文档 河南中电高科计算机技术有限公司 http://www.ceht.com.cn 2020.5.12 适用于java微服务开发运行基础软件环境部署,实测通过. CentOS 7. ...
- golang游戏服务器项目,基于Golang的游戏服务器框架cellnet开发日记(一)
启程的故事 使用Golang写服务器是一件非常幸福的事情. 不用长时间的等待编译, 零依赖部署. 开发效率高, 多出的时间陪陪家人, 看书充充电多好. 所以Golang就像是手机界的苹果, 从发布后, ...
- [golang gin框架] 27.Gin 商城项目-购物车
1.先来看一个问题 购物车数据保持到哪里? 1.购物车数据保存在本地 (cookie或者 redis缓存中),下面统一保存到cookie中,保存到redis中和cookie中逻辑步骤其实都是一样的 2 ...
- 个人云服务器部署leanote(蚂蚁笔记)
个人云服务器部署leanote(蚂蚁笔记) 前言 Leanote是一款开源云笔记软件,使用Go的web框架revel和MongoDB开发完成.蚂蚁笔记是目前我在用的技术笔记,最早是完全开放给用户来使用 ...
最新文章
- bzoj1036: [ZJOI2008]树的统计Count 树链剖分
- android中AVD的使用
- Python Django 一对多逆向查询示例
- .NET2.0学习资料
- python的数据类型_Python支持哪些数据类型
- 【终于等到你】7种策略解除云风险警报
- mysql8.0 安装 修改密码 允许远程连接
- java解析XML【转载】
- 如何将Java Web项目部署到服务器上
- packet captuer tool: snoop
- html5 地铁 代码,基于HTML5WebGL的地铁管理系统
- Python面试题:a='1234567890abc' 半金字塔输出
- STM8S003国产替代 DP32G003 32 位微控制器芯片
- 为什么那么多人中途都放弃了
- 基于R语言的层次聚类分析-【案例实操】-基本操作,一看就会
- 搭建Kubernetes多节点集群
- jar文件读取和遍历
- Android Object 转 Json
- 发票、司法、扶贫,政务应用已成区块链率先落地领域?
- oracle leg函数,Hive中的leg和lead函数简单使用