以下示例环境:Mac 连接 Linux 虚拟机
Remote - SSH 是微软开源的一款 VsCode 插件,用于连接服务器,提供远程开发调试等。
坑:
VsCode支持的linux CentOS最低版本是 7.0, 6.0需要升级 glibc 以及 libstdc++ 两个库。这里附上升级指南
VsCode 环境配置
VsCode 下载 Remote - SSH 插件,下载完成后左边有一个小电脑的图标。
点击小图标进去之后点击加号新建一个远程连接
ssh username@服务器地址
默认输入密码连接
如果发现有以下弹窗,证明需要升级glibc 以及 libstdc++, 或者将CentOS版本升级到7.0+。
这里我们使用免密登陆
首先到 ssh 文件下看有没有 id_rsa 以及 id_rsa.pub 密钥对。
如果没有执行命令 ssh-keygen -t rsa 创建密钥对。
创建成功后需要将公钥拷贝到服务器(ssh-copy-id提供将一个公钥拷贝到远程机器的authorized_keys当中)
这一步会验证一次密码。之后每次登陆就不需要密码啦。
cd ~/.ssh
ls -al
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub username@服务器地址
执行完命令后,可以登录服务器看一下在 .ssh/authorized_keys 文件中,已经有我们的公钥了。
第一次连接时间会有点久,远程机器需要初始化相关配置文件。
这里相当于是在服务器上下载了新的VsCode,也就是说你本地所有的VsCode配置,以及Vscode插件都需要重新下载或者同步过来。
到这里已经成功了一半。我们的VsCode已经能正常连接远程服务器了。
接下来我们还需要在服务器上配置相关开发环境。
服务器相关配置
这里默认都是使用root用户操作
Git
首先VsCode的git相关插件,需要高版本git才能支持,而CentOS 默认的 git 版本较低,这里需要删除,手动下载最新版本git。
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.31.1.tar.gz // 下载
tar -xvzf git-2.31.1.tar.gz // 解压
cd git-2.31.1 // 进入目录
mkae // 编译
make install prefix=/usr/local/git // 安装
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile // 添加环境变量
source /etc/profile // 重新执行
其中 make 命令有可能会报错,执行以下命令后在make
yum install libcurl-devel
yum install openssl-devel
yum install expat-devel
另外我们还需要将服务器的公钥配置在 gitlab 的ssh keys中,方便我们拉取push代码。
进入到自己的工作目录生成密钥对。
cd
ssh-keygen -t rsa -C "你的邮箱地址"
连续回车之后,将生成的id_rsa.pub文件内容拷贝到 gitlab。
克隆好项目之后,使用 VsCode 打开文件就可以开始愉快的开发啦~
端口转发(Port Forwarding)
我们在服务器运行的前端开发环境,在本地电脑直接访问不到,需要做端口转发。
1、可以使用nginx做反向代理,访问nginx就可以了
2、使用 Termius 配置 Port Forwarding
3、Remote - ssh 自带端口转发功能,打开VsCode终端,在tab列表里有一个端口按钮,就是用来做端口转发的。