文章目录

  • golang gin 服务器部署
    • 前言
    • 基本流程
      • 1、build 项目
      • 2、写执行脚本 run.sh
      • 3、创建一个 service 配置文件
      • 4、启动
      • 5、配置反向代理和ssl证书

golang gin 服务器部署

前言

golang使用gin开发完毕后,切不可直接运行或者使用go run xxx.go这种形式,比较正规的做法是,利用linux的服务去管理,不然ssh一退出,网站就停止了。

基本流程

简略流程如下:

  1. build出一个可执行文件
  2. 写一个sh文件,用来执行这个文件
  3. 配置service
  4. 启动
  5. 其他配置(反向代理、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

里面路径自行替换。
这里有两点需要注意的地方:

  1. 顶部的#!/bin/bash必不可少,如果少了这个,服务会无法启动。
  2. 使用先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证书

这里推荐直接安装宝塔面板,里面有图形化界面操作。
步骤简略为:

  1. 反向代理:
    新建静态网站 --> 绑定域名 --> 网站设置中的反向代理 --> 代理80端口到golang的端口
  2. ssl证书
    宝塔面板中可以一键申请。

golang gin 服务器部署相关推荐

  1. gin项目部署到服务器并后台启动

    前言 我们写好的gin项目想要部署在服务器上,我们应该怎么做呢,接下来我会详细的讲解一下部署教程. 1.首先我们要有一台虚拟机,虚拟机上安装好go框架. 2.将写好的项目上传到虚拟机上. 3.下载好项 ...

  2. [golang gin框架] 29.Gin 商城项目-用户登录,注册操作

    一.用户登录,注册界面展示说明 先看登录,注册界面以及相关流程,再根据流程写代码,一般网站的登录,注册功能都会在一个页面进行操作,还有的是在几个页面进行操作,这里讲解在几个页面进行注册的操作,步骤如下 ...

  3. golang gin开发-配置微信公众号接口

    文章目录 概要 整体架构流程 技术细节-服务端处理 接口参数 接口处理逻辑 详细代码(golang实现) 小结 概要 在配置微信公众号相关接口,方便后续业务接口配合微信公众号使用时,需要先通过微信公众 ...

  4. NATS服务器部署及测试

    版权声明:本文为博主chszs的原创文章,未经博主允许不得转载. https://blog.csdn.net/chszs/article/details/51002444 NATS服务器部署及测试 作 ...

  5. 华为云鲲鹏服务器部署文档--java微服务

    华为云鲲鹏服务器部署文档 河南中电高科计算机技术有限公司 2020.5.9 适用于java微服务技术栈. CentOS 7.6 64bit ISO 适用于鲲鹏服务器arm架构的CentOS 7.6.1 ...

  6. 华为云鲲鹏服务器部署文档-修正版-CentOS+java微服务开发

    华为云鲲鹏服务器部署文档 河南中电高科计算机技术有限公司 http://www.ceht.com.cn 2020.5.12 适用于java微服务开发运行基础软件环境部署,实测通过. CentOS 7. ...

  7. golang游戏服务器项目,基于Golang的游戏服务器框架cellnet开发日记(一)

    启程的故事 使用Golang写服务器是一件非常幸福的事情. 不用长时间的等待编译, 零依赖部署. 开发效率高, 多出的时间陪陪家人, 看书充充电多好. 所以Golang就像是手机界的苹果, 从发布后, ...

  8. [golang gin框架] 27.Gin 商城项目-购物车

    1.先来看一个问题 购物车数据保持到哪里? 1.购物车数据保存在本地 (cookie或者 redis缓存中),下面统一保存到cookie中,保存到redis中和cookie中逻辑步骤其实都是一样的 2 ...

  9. 个人云服务器部署leanote(蚂蚁笔记)

    个人云服务器部署leanote(蚂蚁笔记) 前言 Leanote是一款开源云笔记软件,使用Go的web框架revel和MongoDB开发完成.蚂蚁笔记是目前我在用的技术笔记,最早是完全开放给用户来使用 ...

最新文章

  1. bzoj1036: [ZJOI2008]树的统计Count 树链剖分
  2. android中AVD的使用
  3. Python Django 一对多逆向查询示例
  4. .NET2.0学习资料
  5. python的数据类型_Python支持哪些数据类型
  6. 【终于等到你】7种策略解除云风险警报
  7. mysql8.0 安装 修改密码 允许远程连接
  8. java解析XML【转载】
  9. 如何将Java Web项目部署到服务器上
  10. packet captuer tool: snoop
  11. html5 地铁 代码,基于HTML5WebGL的地铁管理系统
  12. Python面试题:a='1234567890abc' 半金字塔输出
  13. STM8S003国产替代 DP32G003 32 位微控制器芯片
  14. 为什么那么多人中途都放弃了
  15. 基于R语言的层次聚类分析-【案例实操】-基本操作,一看就会
  16. 搭建Kubernetes多节点集群
  17. jar文件读取和遍历
  18. Android Object 转 Json
  19. 发票、司法、扶贫,政务应用已成区块链率先落地领域?
  20. oracle leg函数,Hive中的leg和lead函数简单使用

热门文章

  1. Spreadsheet_Excel_Writer
  2. 黑马程序员学习笔记-------c++提高编程
  3. Python爬虫方式抓取免费http代理IP
  4. 洛蒂(Lottie)
  5. windows xp 打开文件夹慢的解决
  6. __ffs 源码分析
  7. rpcx服务框架浅析3-服务发布流程
  8. 112-RTKLIB中关于dcb文件读取的问题
  9. ps常用快捷键(二)
  10. java hypot_Java StrictMath hypot()用法及代码示例