宝塔搭建go环境

1,518 阅读2分钟

1、打开官网 golang.google.cn/dl/ 获取下载环境 golang.google.cn/dl/go1.18.3…

2、下载并解压:

 cd /www/server && wget https://golang.google.cn/dl/go1.18.3.linux-amd64.tar.gz

3、加压到指定文件夹

mkdir golang
tar -xzvf go1.18.3.linux-amd64.tar.gz -C golang

4、添加环境变量,使用 打开/etc/profile 文件,在最底部添加:

vi /etc/profile
export GOROOT=/www/server/golang
export GOBIN=$GOROOT/bin
export GOPKG=$GOROOT/pkg/tool/linux_amd64
export GOARCH=amd64
export GOOS=linux
export GOPATH=/www/wwwroot/golang
export PATH=$PATH:$GOBIN:$GOPKG:$GOPATH/bin

5、让profile文件生效

source /etc/profile

6、执行检查:

go version

7、若返回   go version go1.18.3 linux/amd64  则表示成功,继续创建GOROOT目录:

mkdir /www/wwwroot/golang

8、在 golang 目录先新建 test.go文件,test.go文件内容:

package main

import "fmt"

func main() {
  fmt.Println("Hello, Word!")
}

shell运行

go run test.go

image.png 成功输出了 Hello,Word!

9、宝塔定时任务,脚本内容 使用

go run /www/wwwroot/golang/test.go

提示 go: command not found,需要root账号登录,修改 /etc/sudoers

vim /etc/sudoers

加入

Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin 
后面加入 /:/www/server/golang/bin

image.png 修改脚本内容 使用

sudo go run /www/wwwroot/golang/test.go

正常运行

10、解决国外包管理无法访问,配置国内访问的代理地址:goproxy.cn

go env -w GOPROXY=https://goproxy.cn
go env -w GO111MODULE=on

在该项目目录下,初始化Go moudle,运行下面命令

go mod init xxx //xxx代表文件夹名

成功提示,go.mod文件创建成功。

可以使用go env 命令查看配置详情

go env

11、windows环境打包linux运行go程序

在 main.go 文件夹下打开 cmd

如果是amd架构:

set GOARCH=amd64
set GOOS=linux
go build main.go

如果是arm架构:

set GOARCH=arm64
set GOOS=linux
go build main.go

在 main.go 文件夹下执行

go build main.go

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

将该文件放入linux系统某个文件夹下赋予权限,假如文件名是main

chmod 777 main

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

13、更新程序的方法如下

1、查找进程

ps -aux|grep ./main

2、杀死旧进程

kill  -9  (进程pid)

3、重新启动进程

nohup ./可执行文件名  &  

14、 解决服务端口占用问题

1、使用 netstat -tulpn 查看 端口使用情况

netstat -tulpn

2、找到被占用的端口(确认该端口对应的服务是即将启用的服务)

1.  # 以3000端口为例
1.  netstat -tulpn | grep 3000

3、释放对应端口

1.  # 6012为对应的PID
1.  kill -9 6012

4、重新启动服务成功