您现在的位置是:首页 >学习教程 > Golang打包go项目部署到linux服务器正确方法网站首页学习教程
Golang打包go项目部署到linux服务器正确方法
简介
一般网上查到的方法大多都是让终端中输入以下代码:
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 GOOS=windows
并没有像我们上面设置那样变成linux,GOOS依然是windows,所以在linux运行windows的执行文件,自然无法正常执行,所以这时我们需要用如下命令来解决:
$env:GOOS="linux"
go build -o main-linux main.go
如果我们要变成服务来运行,那么需要使用命令:
vi /etc/systemd/system/main-linux.service
然后该文件内容中写入以下内容:
[Unit]
Description=aoyou
After=network.target
[Service]
WorkingDirectory=/www/aoyou
ExecStart=/www/aoyou/main
PrivateTmp=true
[Install]
WantedBy=multi-user.target
然后按Esc退出编辑模式,再输入以下命令保存退出:
:wq
然后使用如下命令重装服务配置:
systemctl daemon-reload
还可以使用如下其他命令做其他操作:
启动服务:`systemctl start <服务名>.service`
停止服务:`systemctl stop <服务名>.service`
重启服务:`systemctl restart <服务名>.service`
查看服务状态:`systemctl status <服务名>.service`
开机启动服务:`systemctl enable <服务名>.service`
禁止开机启动:`systemctl disable <服务名>.service`
某服务是否正运行:`ps -ef | grep <服务名>`
上一篇:golang设置无限使用
下一篇:已无下一篇