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。

安装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 # 不使用证书验证

设置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可用空间。

版权声明

版权归原作者所有,转载地址:https://pa.ci/182.html

声明
1.本网站名称: 盲盒博客
2.本站永久网址:https://exakit.com
3.本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长support@exakit.com
4.本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责
5.本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6.本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新