背景
众所周知,go语言可打包成目标平台二进制文件是其一大优势,如此go项目在服务器不需要配置go环境和依赖就可跑起来。
操作
需求:打包部署到centos7
笔者打包环境:mac os
方法:进入main.go
所在目录,输入如下命令,当前目录便会生成main
的可执行文件
cgo_enabled=0 goos=linux goarch=amd64 go build main.go
windows平台打包到linux执行不一样,需要输入如下命令
set cgo_enabled=0 set goos=linux set goarch=amd64 go build
打包完成后,将二进制文件放到服务器系统,赋可执行权限:
chmod 773 main
直接运行即可:
./main
或后台执行:
nohup ./main 1>info.log 2>&1 &
linux 后台运行程序
一般为了程序后台运行,我们需要使用nohup命令.
此时需要对程序运行时所产生的输出信息记录,因此就需要使用linux的信息输出命令
一个例子
比如要让redis-server程序后台运行
1.非后台运行:
$> ./redis-server
2.后台运行:
$> nohup ./redis-server 1>/dev/null 2>&1 &
上面的命令还可简写:
nohup ./redis-server >/dev/null 2>&1 &
即去掉标准输出数字1
后台运行一个程序
1.先用 netstat -tln 查看端口信息
2.isof -i:端口 可以找到程序进程号pid
3.kill pid 可以关闭程序
如此便是go打包到linux平台的完整操作,欢迎大家指证。
到此这篇关于go打包二进制文件的实现的文章就介绍到这了,更多相关go打包二进制文件内容请搜索移动技术网以前的文章或继续浏览下面的相关文章希望大家以后多多支持移动技术网!
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
VSCode1.4 搭建Golang的开发调试环境(遇到很多问题)
网友评论