Linux环境部署go运行环境并启动项目

第一步、搭建Go生产环境

11.下载包 2 https://golang.org/dl/ 32.解压(有1.14.4版本了,tar -zxvf后回有个go文件夹) 4 cd /usr/local/ 5 wget https://dl.google.com/go/go1.13.6.linux-amd64.tar.gz 6 tar -xf go1.13.6.linux-amd64.tar.gz ./go-1.13 7 vim /etc/profile 8 export PATH=/usr/local/go-1.13/bin:$PATH 9 source /etc/profile 10113.测试环境 12 vim hello.go 13 package main 1415 import "fmt" 1617 func main(){ 18 fmt.Println("Hello World!") 19 } 204.运行 21 go run hello.go 22 允许结果:Hello World! 23 24说明:在/etc/profile文件末尾添加以下配置,输入 :wq保存 25这里的GO111MODULE配置是go1.11后出的一种新的包管理go modules方式代替vendor机制,可以不需要GOPATH 26项目代码也不一定要放在GOPATH下面  27可参考https://www.cnblogs.com/apocelipes/p/9534885.html 28GO111MODULE=auto 自动 29GO111MODULE=on 使用go modules,不会在vendor和gopath找依赖 【推荐新版都用这种】 30GO111MODULE=off 使用vendor 或者gotpath 31注意:下面的GO111MODULE可以不需要配置了 32#golang env config 33export GO111MODULE=on 34export GOROOT=/usr/local/go 35export GOPATH=/home/gopath 36export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

308699201905281159597801369979383.png
第二步、上传go项目文件 注意vendor文件夹不用上传,可在Linux环境重新下载到vendor中(vendor不做版本控制) 20201120003520.png 第三步、配置go module依赖管理工具 如果第一步没有配置module依赖,那么这步我们就需要配置,如下图就是没有配置
33202011220012.png

1配置步骤如下:如果您使用的 Go 版本是 1.13 及以上 (推荐) 2go env -w GO111MODULE=on 3go env -w GOPROXY=https://goproxy.io,direct 4配置后,再查看是否成功,有数据表示成功

333222000.png
第四步、打包项目并启动 第三步配置好module依赖工具时,我们切换到我们项目目录(/data/gopath/Irispom)

14.1下载依赖:go mod tidy(当然目录下已经有go.mod文件,没有的话go mod init 2一般用户modules方式创建时都会有)

414141.png
go modules 方式
4242.png

1常用的go mod命令如下: 2 3 go mod download 下载依赖的module到本地cache(默认为$GOPATH/pkg/mod目录) 4 go mod edit 编辑go.mod文件 5 go mod graph 打印模块依赖图 6 go mod init 初始化当前文件夹, 创建go.mod文件 7 go mod tidy 增加缺少的module,删除无用的module 8 go mod vendor 将依赖复制到vendor下 9 go mod verify 校验依赖 10 go mod why 解释为什么需要依赖 114.2复制依赖到vendor 12go mod vendor 134.3build打包项目 14go build Irispom打包项目,Irispom是项目名称,一般是文件夹名称,打包可生产Irispom二进制可执行文件

4343.png

14.4独立部署,运行项目 2./Irispom 运行项目,当然你可以后台运行:nohup ./Irispom & 3nohup go run main.go > /var/log/gintest.log & 4nohup ./Irispom > /var/log/gorun.log &

4545401120004320.png
这种方式只是独立部署,还可以:Supervisor部署 Nginx部署 Apache部署

本文转自 https://www.100txy.com/article/258,如有侵权,请联系删除。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )