如何使用code-server打造自己的云端VSCode?

发布时间 - 2020-12-01 00:00:00    点击率:

相关推荐:《vscode基础教程》

最近外出学习老是要背着个电脑还挺累的,但是我又需要电脑进行编程。有没有什么方法可以让我只需携带iPad外出同时又能进行编程呢?

答案是开源项目code-server,通过它可以在浏览器上运行VS Code。下面我将介绍如何使用code-server打造你的云端VS Code。

目标

通过code-server在你的服务器上运行VS Code,然后通过浏览器访问VS Code。

服务器

首先你需要准备一台服务器,官方文档推荐的最低配置是

  • 1 GB of RAM
  • 2 cores(1核能跑,但有时候会卡住)

如果你还没有服务器,国内推荐购买腾讯云(良心云)服务器;国外推荐购买Vultr,按量计费,线路不错,支持微信/支付宝。如果你想支持我,可以使用我的AFF链接,你将会获得100美元的使用额度,我也会得到25美元的使用额度。

操作系统可以使用任何你喜欢的Linux发行版,本文以Ubuntu 20.04为例。

安装code-server

我们将通过官方提供的脚本安装code-server。使用XShell或Putty等登陆你的服务器,然后依次运行如下命令:

curl -fsSL https://code-server.dev/install.sh | sh -s -- --dry-run
curl -fsSL https://code-server.dev/install.sh | sh

运行完毕后,安装脚本将会打印出如何运行和使用code-server。

systemctl start code-server@$USER // 启动code-server

访问code-server

code-server默认使用密码登录(密码保存在~/.config/code-server/config.yaml),并且监听losthost从而避免向外界暴露自己。但我们的目标是在不同的机器上访问它。

下面我将介绍一种安全的且简单的访问code-server的方法。

在更进一步之前,你需要确保服务器开启HTTP/HTTPS端口

ufw allow 80
ufw allow 443

1、一个你自己的域名(你都已经看到这里了相信你也是有域名的人。如果还没有,你可以考虑购买一个,我使用的是NameCheap,Github学生包里有一年的免费NameCheap域名)。

2、使用A记录解析你的域名到服务器IP。

3、安装Caddy。

echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" \
    | sudo tee -a /etc/apt/sources.list.d/caddy-fury.list
sudo apt update
sudo apt install caddy
Caddy服务器是一个开源的,使用 Golang 编写,支持 HTTP/2 的 Web 服务端。它使用Golang 标准库提供HTTP 功能。 Caddy 一个显著的特性是默认启用HTTPS。它是第一个无需额外配置即可提供HTTPS 特性的Web 服务器。——维基百科注意:上述方法安装的是Caddy 2,而目前中文互联网搜索出来的Caddy文档大部分是1版本,2和1有不少区别,请读者自行查阅官方英文文档。

4、nano /etc/caddy/Caddyfile,将里的内容替换下面内容

yourdomain.com
reverse_proxy 127.0.0.1:8080

5、重启caddy:

sudo systemctl reload caddy

接着在浏览器访问https://就可以进入你的code-server页面啦!

修改密码

只需修改~/.config/code-server/config.yaml里password的值,然后重启code-server即可:

sudo systemctl restart code-server@$USER

参考

code-server Setup Guide(https://github.com/cdr/code-server/blob/v3.7.3/doc/guide.md)

更多编程相关知识,请访问:编程教学!!


# vscode  # 的是  # 还没有  # 将会  # 只需  # 我将  # 可以使用  # 文档  # 重启  # 开源  # 自己的 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Thinkphp 中 distinct 的用法解析  高性能网站服务器配置指南:安全稳定与高效建站核心方案  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  Laravel PHP版本要求一览_Laravel各版本环境要求对照  如何用免费手机建站系统零基础打造专业网站?  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  Laravel如何实现本地化和多语言支持?(i18n教程)  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  简历在线制作网站免费版,如何创建个人简历?  音乐网站服务器如何优化API响应速度?  在线教育网站制作平台,山西立德教育官网?  Laravel如何使用.env文件管理环境变量?(最佳实践)  WordPress 子目录安装中正确处理脚本路径的完整指南  如何在Windows服务器上快速搭建网站?  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  手机软键盘弹出时影响布局的解决方法  活动邀请函制作网站有哪些,活动邀请函文案?  js实现获取鼠标当前的位置  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  Laravel怎么在Controller之外的地方验证数据  Laravel如何集成Inertia.js与Vue/React?(安装配置)  Laravel如何实现用户注册和登录?(Auth脚手架指南)  Laravel如何实现事件和监听器?(Event & Listener实战)  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  用yum安装MySQLdb模块的步骤方法  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  如何在局域网内绑定自建网站域名?  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  米侠浏览器网页背景异常怎么办 米侠显示修复  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  怎样使用JSON进行数据交换_它有什么限制  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  Laravel如何使用withoutEvents方法临时禁用模型事件  夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化  Laravel如何使用Service Container和依赖注入?(代码示例)  北京网站制作公司哪家好一点,北京租房网站有哪些?  微信小程序 HTTPS报错整理常见问题及解决方案  如何用虚拟主机快速搭建网站?详细步骤解析  如何快速上传建站程序避免常见错误?