把VScode搬上浏览器?CodeServer部署实战!

codeserver是coder公司基于MS公司开源的VScode开发的一款产品,其主要作用是在浏览器上使用近乎完整的VScode功能,包括其庞大的插件系统 一个简单的预览(不能运行与debug):[官方demo](https://vscode.dev)

这是在我服务器上部署后的效果 file

部署codeserver的准备工作:

  1. 一个云服务器实例
  2. 域名(可选)

首先需要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的步骤,直接不调试运行代码

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注