原由:我为什么要使用远程开发呢?
- 手里租了一台云服务器,目前在在上面跑的应用不能把性能吃满,而且基本上流量和带宽有富余,不用白不用嘛,都是钱
- 在青训营的GO语言基础课中,有一个案例用到了一个
nc命令,根据资料,linux本身是带有这个命令的,而Windows本身不带这个命令 - 不想折腾虚拟机,我装的虚拟机总是会有莫名其妙的
bug,以及VSCode配置过于麻烦
两种方式:
使用Goland进行远程开发主要有两种形式,一种是Goland的Remote Development功能,直接在远程运行Goland,本地只负责显示图形界面,但这种方式对服务器的性能要求比较高。
所以,我用了第二种方式。
具体的实现:
第一步:安装GOLANG
首先你需要在本地,和服务器安装Golang,你可以在这里找到所有安装包,
All releases - The Go Programming Language (google.cn)
这里主要介绍如何在Linux上安装:
1.在Linux上安装Golang
首先你需要在Linux上下载Golang的安装包,打开上述的链接,选择你需要的版本下载。
我这里使用了
go1.20.6的版本
当然,你也可以使用wget命令一键下载:
wget https://golang.google.cn/dl/go1.20.6.linux-amd64.tar.gz
解压这个安装包到你需要的目录:
tar -C /usr/local -xzf go1.17.3.linux-amd64.tar.gz
# /usr/local是官方文档上面的目录,你可以改成想要
使用文本编辑工具(vi、vim、nano等等)编辑,在/etc目录下的profile文件,这一步是设置Golang的环境变量
# 这些语句放在文件的末尾即可
export GOROOT=/usr/local/go
export GOPATH=/usr/local/gopath
export PATH=$PATH:/$GOROOT/bin:$GOPATH/bin
在Linux终端运行以下命令:
#加载环境变量
source /etc/profile
还是在Linux终端:
go version
如果终端返回了go的版本信息,则证明安装成功。接着我们在终端进行以下以下设置:
#设置代理
go env -w GOPROXY=https://goproxy.cn,https://mirrors.aliyun.com/goproxy/,direct
#开启go mod管理
go env -w GO111MODULE=on
接着运行以下命令,查看是否设置成功
#查看go的运行环境
go env
2.在本地安装Golang和GoLand
能做到这一步,都在本地安装完了吧,这里就不写了。
第二步:在阿里云控制台,生成SSH远程连接的RSA密钥对
进入控制台,点击远程连接,点击密钥管理,生成密钥,届时会有一个.pem后缀的文件保存到你的计算机,这就是密钥对
第三步:配置Goland
我这里使用的是Goland 2023的版本
打开设置
工具 ==> SSH配置
设置SSH链接,点击加号
+
- 主机填你服务器的公网地址
- 端口一般填22(记得在阿里云的控制台开放防火墙)
- 用户名一般为
root - 身份验证类型选密钥对
- 私钥文件选择刚才保存的
pem文件
接着选择构建、执行、部署 ==> 部署
点击加号+,选择SFTP,选择连接选项卡
- SSH配置选择你刚刚设置的SSH连接,
- 根路径设置默认就好,
- web服务器URL填你服务器的地址。
映射部分,本地路径填写本地项目的路径,部署路径填写服务器的项目映射路径,路径可以不存在,项目同步时会自动创建。 点击确定,就基本配置好了。
第四步:同步设置
第一次同步
工具 ==> 部署 ==> 上传到……
自动同步
工具 ==> 部署 ==> 选项
可设置自动同步的方式,一种是增量上传、另一种是显示保存(即按下
ctrl+s上传)
最后打开自动保存
打开远程终端:
在终端部分,点击小箭头,就可以看见你刚刚通过SSH连接上的Linux远程终端了
测试成功,到这里就基本配置完了