您的当前位置:首页>全部文章>文章详情

【Go】Golang打包go项目部署到linux服务器正确方法

CrazyPanda发表于:2024-08-06 15:49:19浏览:277次TAG: #Golang

网上方法

我们可以在终端中输入以下代码:

set CGO_ENABLED=0
set GOOS=linux
set GOARCH=amd64
go build -o main-linux main.go

然后就会生成main-linux的二进制可执行文件,然后我们就可以将main-linux放到服务器中的任一目录中,然后我们就可以执行以下命令运行。

> chmod 777 main-linux
> ./main-linux

这是我们在网上可以搜索到的方法,但是我相信很多人通过这个方法尝试后发现,它并不能运行。我相信大家应该遇到过这种情况。

正确方法

我们在终端以下代码查看:

go env

我们可以看到以下内容:

set GO111MODULE=on
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\86184\AppData\Local\go-build
set GOENV=C:\Users\86184\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\86184\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\86184\go;E:\go\go;E:\go\go\lib
set GOPRIVATE=
set GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
set GOROOT=E:\go\go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=E:\go\go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.18.2
set GCCGO=gccgo
set GOAMD64=v1
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=D:\桌面\后台\awe\go.mod
set GOWORK=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\86184\AppData\Local\Temp\go-build3107814947=/tmp/go-build -gno-record-gcc-switches

我们可以看到,GOOS依然是windows,所以我们早linux运行windows的执行文件,自然无法正常执行。下面是正确的方法:

$env:GOOS="linux"
go build -o main-linux main.go

然后在服务器端执行

chmod 777 main-linux
./main-linux

如果想让其在后台运行可以执行:

setsid ./main-linux

总结 

到此这篇关于Golang打包go项目部署到linux服务器的文章就介绍到这了,更多相关Golang打包部署linux服务器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

原文地址:https://www.jb51.net/jiaoben/302059vnf.htm

猜你喜欢

【Go】Golang标准库介绍(三)
1. image库 (常见图形格式的访问及生成)在 Go 语言的标准库中,image 包提供了对图像的基本操作和处理功能。这个包定义了 Image 接口和一些基本的图像类型,同时也包含了一些实现了该接口的具体类型,如 image.RGBA 和 image.Gray。关键概念和类型:1. Image 接口: 定义了图像的基本操作,包括获取像素值、设置像素值等。 2. RGBA 类型: 表示一个带有红、绿、蓝和透明度通道的图像。 3.&nb
发表于:2024-03-04 浏览:361 TAG:
【Go】Golang标准库介绍(二)
1. debug 库 (各种调试文件格式访问及调试功能在 Go 语言的标准库中,并没有一个名为 debug 的独立库。然而,Go 提供了一系列的工具和包,用于调试和性能分析。这些工具和包包括 debug/pprof、runtime/pprof、net/http/pprof 等,用于生成和分析性能剖析数据。相关的包和工具:1. runtime/pprof: 提供了运行时性能分析的功能,可以用于查看 CPU 和内存的使用情况。它通过在代码中插入特殊的语句来收集
发表于:2024-03-03 浏览:272 TAG:
【Go】Golang为什么成为程序员的首选
在当今快速发展的科技时代,程序员这一职业已经成为越来越受人们青睐的职业选择。而在众多编程语言中,Go语言由于其简洁、高效、并发能力强等优势,逐渐成为许多程序员的首选。本文将探讨为什么越来越多的程序员将Go语言作为他们的首选,通过具体的代码示例展示Go语言的强大之处。一、Go语言简洁高效Go语言由Google开发,设计初衷是为了解决大型项目的工程问题,因此在语法设计上追求简洁高效。代码量少,结构清晰,易于阅读和维护。下面是一个简单的Hello World示例:package main &
发表于:2024-03-14 浏览:290 TAG:
【Go】常用的6款Go语言Web框架
前言由于工作需要,这些年来也接触了不少的开发框架,Golang的开发框架比较多,不过基本都是Web”框架”为主。这里稍微打了个引号,因为大部分”框架”从设计和功能定位上来讲,充其量都只能算是一个组件,需要项目使用的话得自己四处再去找找其他的组件,或者自己造轮子。如果用于Web开发,这些”框架”的Web开发能力均已完备,无太大差别,且均是自标准库net/http.Server的二次封装。由于框架众多,这里笔者只选择了几个曾做过技术选型评估、较为熟悉,且目前比较流行和典型的Golang”框架”,从适
发表于:2024-02-26 浏览:330 TAG:
【Go】利用Go语言实现高效的整除运算与余数计算
在编程中,整除运算和余数计算是常见的操作,特别在处理循环和数学运算时经常会用到。Go语言作为一种高效、简洁的编程语言,提供了丰富的内置函数和运算符,可以帮助我们实现高效的整除运算和余数计算。本文将介绍如何利用Go语言实现高效的整除运算和余数计算,并提供具体的代码示例。首先,我们来看一下Go语言中整除运算和余数计算的具体实现方式。在Go语言中,整除运算可以使用 "/" 运算符实现,余数计算可以使用 "%" 运算符实现。下面是一个简单的示例代码:package
发表于:2024-03-24 浏览:372 TAG:
【Go】golang可以写桌面吗
本文操作环境:Windows10系统、go1.20版本、DELL G3电脑。Golang是一种强大且灵活的编程语言,它是由Google开发的,并在开源社区中得到了广泛的支持和应用。虽然Golang最初是作为一种服务器端语言设计的,用于处理并发请求和高性能的网络应用程序,但它也可以用于编写桌面应用程序。Golang的设计目标之一是提供简洁、高效的开发体验,并且具有垃圾回收机制和并发编程的优势。这些特性使得Golang成为一种理想的语言来开发桌面应用程序,尤其是对于需要高性能和并发处理的应用程序。虽
发表于:2024-06-06 浏览:272 TAG:
【Go】windows系统Go语言环境安装
1. Go语言安装包下载打开官网https://golang.google.cn/dl/,找到windows版本,点击下载,然后点击安装包安装,可自定义安装路径。2. GOROOT环境变量配置打开系统环境变量,新加GOROOT,路径就是Go安装根路径3. GOPATH环境变量添加在添加GOPATH环境变量之前,我们需要先新建一个工作区文件夹,这里笔者以GoProject命名。然后在该文件夹下分别创建src, pkg, bin三个文件夹,这三个文件夹作用如下:src: 存放源代码(go项目存放的位
发表于:2024-06-07 浏览:321 TAG:
【Go】Go语言介绍
文章目录语法简单并发模型内存分配垃圾回收静态链接标准库工具链Go 起源Go 是编译型语言功能特点Go 语言特性Go有什么优势Go语言创始人参考文档Go 起源Go语言(或 Golang)起源于 2007 年,并在 2009 年正式对外发布。Go 是非常年轻的一门语言,它的主要目标是兼具 Python 等动态语言的开发速度和 C/C++ 等编译型语言的性能与安全性。Go语言是编程语言设计的又一次尝试,是对类C语言的重大改进,它不但能让你访问底层操作系统,还提供了强大的网络编程和并发编程支持。Go语言
发表于:2024-02-25 浏览:456 TAG:
【Go】windows系统go语言环境搭建
下载地址 Go官网下载地址:https://studygolang.com/dl一、下载对应电脑得安装包二、下载完成点击安装下一步(选择目录尽量简单)三、是否安装成功四、环境变量GOROOT和GOPATH都是环境变量,其中GOROOT是我们安装go开发包的路径,而从Go 1.8版本开始,Go开发包在安装完成后会为GOPATH设置一个默认目录,并且在Go1.14及之后的版本中启用了Go Module模式之后,不一定非要将代码写到GOPATH目录下,所以也就不需要我们再自己配置GOPATH了,使用默
发表于:2024-02-24 浏览:317 TAG:
【Go】Linux下搭建go开发环境
配置go编译器下载go从go官方网站下载最新的安装包  以go1.18.1.linux-amd64.tar.gz为例,放在用户的home目录。解压使用命令 tar -xzvf go1.18.1.linux-amd64.tar.gz 解压配置打开~/.bashrc文件,写入如下配置:export GOPATH=$HOME/go export PATH=$PATH:$GOPATH/bin export PATH=$PATH:$GOPATH/bin:/usr/local
发表于:2024-02-25 浏览:283 TAG: