Code-Server介绍
code-server是一款基于VSCode的在线编辑器,它提供了一个web化的在线IDE。
服务端上运行code-server(可以理解为一个在远程服务器上运行的VS Code),客户端就可以使用浏览器打开vscode,vscode上的资源都是服务器上的资源。通过code-server我们可以实现远程编辑调试服务器端的程序,相当于vscode的ssh remote。code-server和直接ssh remote的区别就后者还需要安装vscode软件,而前者连客户端软件都不需要安装。
下载与安装
在线自动安装
阿里云ESC的网络质量较佳,可以直接选择在线安装code-server,而这只需要一行代码将安装脚本下载下来并运行即可
curl -fsSL https://code-server.dev/install.sh | sh
运行之后等待安装完成即可。
离线安装
由于众所周知的原因,可能在线安装的下载速度十分缓慢,因此可以通过离线的方式下载安装包,然后本地安装,下载地址为https://github.com/coder/code-server/releases,选择自己服务器架构的最新版rpm包下载即可。
下载完成后,传到服务器上,用rpm安装:
rpm -i code-server-4.4.0-amd64.rpm
简单配置
先启动一次code-server以生成配置文件,注意,配置文件的生成位置与登陆用户有关,其路径为:~/.config/code-server/config.yaml。(建议使用非root用户,避免开启服务后给予编辑器过大的权限)
修改配置文件:
vim ~/.config/code-server/config.yaml
修改后的配置文件如下:
bind-addr: 0.0.0.0:8899
auth: password
password: [你的密码]
cert: false
其中bind-addr的ip设置为0.0.0.0即可被外部访问,后面的端口号根据自己的需求设置,如8899;auth是验证方式,password表示进入在线VSCode需要输入密码认证,也可以设置为none表示无需认证;password验证需要的密码,如果auth设置为none则不需要设置该项;cert与认证证书有关,简单配置就不设置了。
作为服务启动
普通方式通过code-server
命令启动的话,要求ssh连接不能中断,使用这种方式开启服务显然是不科学的。
注册服务很简单,只需要一行命令即可(需要root权限),--now选项会将服务立刻启动:
systemctl enable code-server@[你的用户名] --now
如:
systemctl enable code-server@PurpleSky --now
不建议使用root用户注册服务,这会使得在线编辑器权限过大。利用如下命令查看服务启动状态:
systemctl status code-server@[你的用户名]
如果服务启动成功则会显示active状态:
配置安全组
一般来说,防火墙会拦截未知请求,因此需要将之前设置的端口添加到安全组的授权中,打开示例的安全组,并点击配置规则:
在入方向点击手动添加,端口号为之前配置的那个,根据自己的填写,如下:
这样外部请求就可以正常访问code-server服务了。
使用
在浏览器中输入"[自己服务器的外网ip]:[自己设置的端口号]",即可进入在线VSCode界面,如果设置了密码认证,则会出现认证窗口,输入之前设置的密码即可:
之后就会正常的进入到一个正常的在线VSCode界面了,所进行的操作、代码的编写与运行都是在服务器上,在线编辑器的权限为之前启动服务的用户权限。