首先省略编写代码的过程,成功在本地ip测试成功后,将监听的ip和端口改为服务器的
-
首先你要知道需要配置的服务器的构架,一般是amd64,arm,可以在服务器里输入uname -a 查看
-
然后进入目标项目目录,可以直接在goland终端中,如
也可以cmd进入
-
依次输入set GOOS=linux , //这是生成对应系统打包好的程序(可以直接运行的,如果不改就默认是win,生成exe文件
set GOARCH=arm //改为上面查找的服务器构架
go build main.go //build 后面是你的文件
然后会报错cannot find package "golang.org/x/sys/unix" ,这是因为没有下打包需要的库
-
下载golang/sys.git包
首先设置代理go env -w GOPROXY=https://goproxy.cn //你懂的
然后go env -w GO111MODULE=on
然后拉包go get github.com/golang/sys.git //也可以git clone,或者直接下载,但是直接下载zip文件是没有依赖包的
如果golan里直接出现这个
那是因为goland配置了git,你可以直接点install,
然后在项目src里github.com目录找到找到下载的包sys,把它移动到golang.org\x,没有就自己建,如下
然后在go build main.go ,发现成功了
-
接下来就是把生成的文件传到服务器上
首先打开cmd,使用scp命令将文件传过去
使用方法:scp 源文件路径 账户@地址:目的路径
scp C:\Users\zbh\Desktop\1.txt [email protected]:/home/lucas/
6.然后ssh连接服务器,进入刚保存到目录,输入./main //main改为你的包名
会弹出bash:权限不够 ,于是输入chmod 777 main ,再输入./main ,会发现程序执行成功了,
现在你可以打开客户端试一试你的程序效果,如果成功,那我们还有最后一步
7.当你直接关闭ssh时,你会发现程序又停止了,那是因为./main 这个命令只是暂时执行,如果想要一直挂起的话,需要使用nohup命令
输入nohup ./main & ,这就成功了,再输入ps aux|grep main 查看一下进程,发现正在执行,这就成功了,要关闭程序的话,直接kill掉进程就ok啦
参考: https://blog.csdn.net/u013474104/article/details/78638710 https://blog.csdn.net/taoerchun/article/details/92787743 https://www.jianshu.com/p/bfaba9b6d46d https://www.cnblogs.com/jiangyao/archive/2011/01/26/1945570.html https://blog.csdn.net/weixin_42506905/article/details/90339253 https://blog.csdn.net/u013172063/article/details/52440384
|
请发表评论