您好,欢迎来到易妖游戏网。
搜索
您的当前位置:首页基于树莓派部署code-server

基于树莓派部署code-server

来源:易妖游戏网
基于树莓派部署code-server

是 vscode 的服务端程序,通过部署 code-server 在服务器,可以实现 web 端访问 vscode。进⽽可以达到以下能⼒:⽀持跨设备(Mac/iPad/iPhone 等等)编程,同时保证多端编程环境统⼀。⽀持在 web 端提交 git 代码。背包重量󰀀。

⾄于将 code-server 部署在树莓派上相⽐云端服务器好处是综合成本低,后续若要更换云服务器,只需更改内⽹映射端⼝即可,迁移会⼗分便捷。树莓派上部署 code-server

参考 ,在树莓派上其推荐使⽤ 来进⾏安装 code-server。

此外提到 node.js 版本需要与所下载的 VSCode's Electron 所依赖的版本⼀致。笔者下载的 code-server 版本为 code-server_3.12.0_arm.deb,其需要 node.js 14.x 版本。执⾏如下命令进⾏前置安装:

sudo apt-get install -y \\ build-essential \\ pkg-config \\ python3 npm config set python python3按照 所述,在 Debian / Ubuntu 系统中安装 yarn:

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo \"deb https://dl.yarnpkg.com/debian/ stable main\" | sudo tee /etc/apt/sources.list.d/yarn.list sudo apt update && sudo apt install yarn 执⾏ sudo vim .bashrc,将 yarn 全局安装命令的执⾏路径写⼊ .bashrc ⽂件。export PATH=\"$PATH:`yarn global bin`\" source ~/.bashrc # 使之⽣效参照 ,执⾏以下命令安装 code-server:

yarn global add code-server code-server --version # 3.12.0

笔者使⽤ npm install -g code-server ⽆法成功安装,最终使⽤ yarn global add code-server 安装成功。

编辑 .config/code-server/config.yamlsudo vim .config/code-server/config.yaml

bind-addr: 127.0.0.1:5555 auth: password password: xxxxxxxxx cert: false# 启动 code-server code-server在 frpc.ini 中添加以下配置:

frpc.ini 与 pm2 的完整配置说明可以参考章节。

[vscode-server-frp-muyunyun-cn-5555] type = tcp local_ip = 127.0.0.1 # code-server 服务运⾏在树莓派本地的 5555 端⼝上 local_port = 5555 # 对外运⾏在服务器端云主机 5555 端⼝上 remote_port = 5555使⽤ pm2 重启 frpc 服务:

cd /opt/frp_0.37.0_linux_arm pm2 restart start_frpc.sh

此时在 frps 服务器端(云主机)中通过 lsof -i:5555 可以看到服务端端⼝ 5555 已经被 frps 服务占据。同时在公⽹中可以看到 code-server 服务已成功运⾏

使⽤ pm2 守护运⾏ code-server 以让相关服务遇到意外(⽐如断电后)能⾃动重启:

cd /opt/frp_0.37.0_linux_arm sudo touch start_code_server.sh sudo chmod 777 start_code_server.sh sudo echo \"code-server\" > start_code_server.sh pm2 start /opt/frp_0.37.0_linux_arm/start_code_server.sh pm⽀持 HTTPS 协议访问

访问 HTTP 下的 code-server 服务,发现不能完整使⽤插件、剪切板等功能模块。

根据控制台报错信息,推测这些模块依赖了 service work,查阅 得知, service work 确实必须在 Https 协议中使⽤。

因此若要完整地使⽤ code-server 服务,需要配置 HTTPS 协议,配置过程记录在 章节中,其介绍了给域名获取免费的 Https 证书并让 Https ⽣效的过程。⽀持在 HTTPS 协议中访问 WebSocket

在配置完 HTTPS 服务后,访问 HTTPS 链接发现还是⽆法在 web 端正常使⽤ vscode,排查发现 code-server 使⽤ WebSocket 以保持长连接,因此需要在 nginx 配置⽂件中增加对 。执⾏ vim /etc/nginx/conf.d/www.muyunyun.cn.conf 进⾏编辑,完整的 nginx 配置如下:

map $http_upgrade $connection_upgrade { default upgrade; '' close; } upstream code_muyunyun_cn { server 127.0.0.1:5555; } server { server_name code.muyunyun.cn; listen 80; listen [::]:80; rewrite ^(.*)$ https://$hos重新加载 nginx 配置后,此时已经可以在 web 端使⽤上 code-server 的能⼒。在 web 端中提交 git 代码

登⼊树莓派端,执⾏如下命令⽣成 ssh 密钥:

# 以 github 为例 ssh-keygen -t rsa -C \"youremail@example.com\" -f ~/.ssh/github然后将 ~/.ssh/github.pub 公钥中的内容复制到剪贴板,拷贝到 的 Key ⽂本框中。经验证,⾄此已经可以在 web 中提交代码到 github。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- vipyiyao.com 版权所有 湘ICP备2023022495号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务