golang程序打包成脚本部署到Linux系统方式

 更新时间:2025年07月10日 14:35:57   作者:运维打怪晋级之路  
Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完成自动化部署

本地编译Golang程序

本地代码:

//变量的作用域
package main

import "fmt"
//单行注释
//包级变量
var packageVar string = "pachage var"
func  main(){
	//函数级别的变量
	var funVar string = "func var"
	fmt.Println(packageVar,funVar)
	/*
	这是多行注释
	以下是使用代码块功能
	 */
	{
		//快级别的变量
		var blockVar string = "block var"
		fmt.Println(packageVar,";",funVar,";",blockVar)
	}

	fmt.Println("hello world !")
	var packageVar string = "pachage2 var"
	fmt.Println(packageVar)
	//1、变量会在自己块里面找,如果没有就在父块里面找,还没有就去包块找,如果没有就报错 2、子块可以覆盖父块的变量
	var zeroString string
	fmt.Println(zeroString,"djvnjdfnv")
}

使用goland在Terminal中编译

E:\Gosrc\mage>set GOARCH=amd64
E:\Gosrc\mage>set GOOS=linux
E:\Gosrc\mage>go build 02-helloworld.go

注意

高版本的

go env -w GOOS=linux
go env -w GOOS=windows

此时会生成一个没有后缀的二进制文件

上传Golang二进制文件到Linux服务器

上传Golang二进制文件到Linux服务器,并赋权限

[root@localhost ~]# chmod 755 02-helloworld 

执行此golang开发的脚本

[root@localhost ~]# ./02-helloworld 
pachage var func var
pachage var ; func var ; block var
hello world !
pachage2 var
 djvnjdfnv

如果想让项目在后台执行:执行 nohup ./02-helloworld & ,这样就可以程序在后台运行了

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Golang中for循环遍历避坑指南

    Golang中for循环遍历避坑指南

    这篇文章主要为大家详细介绍了Golang中for循环遍历会出现的一些小坑以及对应的解决办法,文中的示例代码讲解详细,感兴趣的可以了解一下
    2023-05-05
  • Golang Gin解析JSON请求数据避免出现EOF错误

    Golang Gin解析JSON请求数据避免出现EOF错误

    这篇文章主要为大家介绍了Golang Gin 优雅地解析JSON请求数据,避免ShouldBindBodyWith出现EOF错误的源码分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • Golang极简入门教程(二):方法和接口

    Golang极简入门教程(二):方法和接口

    这篇文章主要介绍了Golang极简入门教程(二):方法和接口,本文同时讲解了错误、匿名域等内容,需要的朋友可以参考下
    2014-10-10
  • 一文了解Go语言中编码规范的使用

    一文了解Go语言中编码规范的使用

    这篇文章主要介绍了一文了解Go语言中编码规范的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 详解Go语言中切片的长度与容量的区别

    详解Go语言中切片的长度与容量的区别

    切片可以看成是数组的引用,切片的长度是它所包含的元素个数。切片的容量是从它的第一个元素到其底层数组元素末尾的个数。本文将通过示例详细讲讲Go语言中切片的长度与容量的区别,需要的可以参考一下
    2022-11-11
  • golang微服务框架Kratos实现消息队列

    golang微服务框架Kratos实现消息队列

    本文介绍了在Golang微服务框架Kratos中实现消息队列的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-12-12
  • Go 复合类型之字典类型使用教程示例

    Go 复合类型之字典类型使用教程示例

    这篇文章主要为大家介绍了Go复合类型之字典类型使用教程示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • Go语言中内存管理逃逸分析详解

    Go语言中内存管理逃逸分析详解

    所谓的逃逸分析(Escape analysis)是指由编译器决定内存分配的位置吗不需要程序员指定。本文就来和大家简单分析一下Go语言中内存管理逃逸吧
    2023-03-03
  • Golang实现单元测试中的逻辑层

    Golang实现单元测试中的逻辑层

    前面我们完成了最麻烦的数据层的单元测试,今天我们来看看单元测试中最容易做的一层,数据逻辑层,也就是我们通常说的 service 或者 biz 等
    2023-03-03
  • Golang字符串和数组的相互转换

    Golang字符串和数组的相互转换

    本文主要介绍了Golang字符串和数组的相互转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-06-06

最新评论