codeserver是coder公司基于MS公司开源的VScode开发的一款产品,其主要作用是在浏览器上使用近乎完整的VScode功能,包括其庞大的插件系统 一个简单的预览(不能运行与debug):[官方demo](https://vscode.dev)
这是在我服务器上部署后的效果
部署codeserver的准备工作:
- 一个云服务器实例
- 域名(可选)
首先需要codeserver的压缩包,可以本地下载好传上服务器,也可以用服务器直接下载
cd [目标目录]
wget https://github.com/cdr/code-server/releases/download/3.4.1/code-server-3.4.1-linux-x86_64.tar.gz
#在当前目录下解压
tar -zxvf code-server-3.4.1-linux-x86_64.tar.gz
解压后可以看到文件夹,cd进入,ls读出所有文件
[root@VM-4-10-centos code-server-3.4.1-linux-x86_64]# ls
bin dist LICENSE.txt node_modules package.json README.md ThirdPartyNotices.txt
code-server lib node out postinstall.sh src yarn.lock
这里是codeserver就是可执行程序了,./codeserver
运行一下
[root@VM-4-10-centos code-server-3.4.1-linux-x86_64]# ./code-server
***** Please use the script in bin/code-server instead!
***** This script will soon be removed!
***** See the release notes at https://github.com/cdr/code-server/releases/tag/v3.4.0
info Using config file ~/.config/code-server/config.yaml
info Using user-data-dir ~/.local/share/code-server
info code-server 3.4.1 48f7c2724827e526eeaa6c2c151c520f48a61259
info HTTP server listening on http://0.0.0.0:8080
info - Using password from ~/.config/code-server/config.yaml
info - To disable use `--auth none`
info - Not serving HTTPS
warn discarding socket connection: vscode is not running
注意初次使用时密码和绑定的IP储存在~/.config/code-server/config.yaml
下,需要修改,IP默认的localhost,也就是不能通过服务器以外的机器访问,改成0.0.0.0就可以了,当然如果你的IP固定,可以改成自己的IP白名单来增加安全性
配置好config之后直接在本地浏览器输入服务器ip:[显示的端口,这里是8080]就能访问了
但是此时我们发现如果关闭SSH会话窗口,codeserver会马上停止运行,此时我们需要一个持久化方案来解决
一个非常简单且好用的方法是screen,screen的原理可以简单的理解为windows的窗口,在命令行里多开一个窗口来执行任务,并且在退出后除非手动关闭不会停止运行
我们先下载screen
yum install -y screen
下载完成后创建一个名为dev的窗口(名字随意)
screen -S dev
执行后会直接跳入一个新的shell页面,在这个页面里我们cd进刚刚的codeserver目录,执行codeserver,然后关闭会话即可,此时screen会在后台运行
#查看现有的窗口
screen -ls
#进入指定的窗口(窗口名或者PID)
screen -r dev
#杀死一个窗口(先进入该窗口)
exit
至此我们的codeserver配置完成,后续的工作可以在网页端完成,配置方法和VScode完全一样,当然,如果图省事,可以直接用coderunner插件省去配置json的步骤,直接不调试运行代码