golang程序打包成脚本部署到Linux系统方式
作者:运维打怪晋级之路
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 & ,这样就可以程序在后台运行了

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