Code-Server是微软开发的在线版VS Code,即基于浏览器的IDE。有一个浏览器即可在线编写代码和相关文档,最大的优点应该是让iPad也能成为“生产力工具”吧。

此处示例使用Debian 11 amd64系统,非root账号,原生环境(而非docker)。官方要求有1G内存和2核CPU,推荐选项里面是2G内存和2核CPU,硬盘则是32G SSD。本处示例使用的是VPS,具体配置为:2G内存,2核CPU,30G SSD。


1. 安装Code-Server

微软官方在GitHub上提供了不同的安装包,不过我们不需要手动下载解包安装,因为提供了一键安装脚本:

sudo apt install curl # 安装curl
curl -fsSL https://code-server.dev/install.sh | sh #注意这里不是root用户
sudo systemctl enable --now code-server@$USER # 让Code-Server开机自启并后台运行,$USER改为你的当前用户。

此时,在当前用户的配置文件中就生成了Code-Server的密码,具体位置为~/.config/code-server/config.yaml,大致内容如下:

bind-addr: 127.0.0.1:8080 #内网地址
auth: password # 登录方式为密码
password: fb481f0197e8d9581684dcc4 # 密码
cert: false # 不使用证书验证

2. 设置SSL和Nginx反代

由于默认开放的是内网,所以还需要使用Nginx反代,考虑到安全性,使用了Let's Encrypt的SSL证书实现全程https访问。

sudo apt update # 更新一下
sudo apt install -y nginx certbot python3-certbot-nginx # 安装nginx和Let's Encrypt的certbot来安装ssl

当然,这里使用的python版certbot也可以被snap版的certbot替代,有一个能用的就行。
紧接着配置nginx的配置文件

/etc/nginx/sites-available/ # 进入配置文件的目录
sudo mv default code-server # 将默认配置文件名称改为code-server

使用sudo权限来编辑code-server文件,内容如下:

server {
    listen 80;
    listen [::]:80;
    server_name code.domain.com; # 注意,code.domain.com是你自己的网址

    location / {
      proxy_pass http://localhost:8080/;
      proxy_set_header Host $host;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection upgrade;
      proxy_set_header Accept-Encoding gzip;
    }
}

然后软链接一下nginx的配置文件,以及申请ssl证书

sudo rm /etc/nginx/sites-enabled/default # 删除旧的软链接
sudo ln -s /etc/nginx/sites-available/code-server /etc/nginx/sites-enabled/code-server # 新建软链接
sudo certbot --non-interactive --redirect --agree-tos --nginx -d code.domain.com -m email@example.com # 要注意这里的code.domain.com为你的域名,email@example.com为你的邮箱

至此,全部配置完成,理论上浏览器输入域名即可登录,但是推荐使用reboot命令重启系统,不然可能会遇到页面无法访问等问题(因为没有重启nginx).


搭建完,安装了官方中文插件和适配Python、golang和rust,包括系统在内一共占用空间5G,还剩余23G可用空间。
login.jpg

标签: linux

添加新评论