1.golang运行环境安装(最新版本,自动安装):yum install golang

我创建了goPro和goProject文件夹。

 

 

 

 goProject里面放的是源码和go运行环境解压后的文件夹go, goPro里面是网上说的编译后代码存放位置,创建好之后没有动过,主要还是进入 goProject里面项目的目录下去执行编译之类的命令。

源码我是先用SecureFXPortable传到跳板机上,再通过scp命令传到我要部署go程序的服务器。

命令格式:scp -r /home/space/music/ root@www.runoob.com:/home/root/others/

我是进入需要传输文件的目录,然后用命令:scp -r p2p-server root@11.11.11.10:/usr/local/goProject  ,回车然后输密码。传输完成后去另一个窗口,进入目录查看是否已经有了。


2. 打开环境变量的文件:vim /etc/profile ,
在末尾添加:
export GOROOT=/usr/lib/golang
export GOPATH=/usr/local/goPro
export GO111MODULE=on
export GOPROXY=http://goproxy.cn,direct
export PATH=$PATH:$GOROOT/bin

(添加的环境变量不一定要和我的一致,我是反复试过很多次跑起来了,就把设置过的环境变量都贴出来了)

 

3.添加环境变量,执行命令(Linux敲下面两条命令):
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GOPRIVATE="*.gitlab.com,*.gitee.com"


4.替换tools,执行命令:
mkdir -p $GOPATH/src/golang.org/x
git clone http://mingclia:1qaz2wsx@gitlab.dev.zhoukoudian.top/cloudcomputing/tools.git
mv tools $GOPATH/src/golang.org/x/(执行git clone命令之前先进入创建的文件夹.......golang.org/x目录下的话,不需再执行该命令)


5.执行mod命令:
go mod init 项目名

执行时会有提示,执行完用命令ll(L的小写)查看会多出一个go.mod文件。

 

 


6.执行build命令:
go build main.go

执行完用命令ll(L的小写)查看会多出一个main文件,下图第二个红框。

 

 


7.生成main文件,后台运行程序,执行:nohup ./main >/dev/null 2>&1 &

也可以用 ./main运行,但是这样一旦执行别的命令,程序就不运行了。上面的命令是后台运行,只要不用kill -9 PID命令杀掉,它就会一直运行的。

 

要查看程序是否已经跑起来,用:netstat -anp (an,列出所有活动的和在监听的链接; p,列出所对应的程序)。运行效果如下图:

我跑的程序端口是8000,找的是有,而且PID/Program name这一列显示的是项目名称,可以进一步明确是否是自己跑起来的服务。

这篇帖子是弄了好几天,网上反复查资料,各种尝试,最后终于成功了。记录一下。