在浏览器上运行vscode,code-server

前言

时间:2020-04-06
前段时间apple出了iPad pro 2020,和妙控键盘,加上现有的iPad OS,现在的iPad更像电脑了,官方更是打出了宣传语:你的下一台电脑, 何必是电脑
image.png
加上妙控键盘,iPad pro看起来和MacBook有那么几分相似,但是iPad能完全替代电脑吗?答案是不能的,iPad只能在部分场景下替代电脑。就以程序员这个职业来说,电脑上有各种强大的编辑器和调试工具,而iPad并没有那么强大软件支持,那么iPad的就不能编程吗?答案是:可以编程的。
coder-server项目可以远程部署在服务器上,在任何浏览器上使用VScode
image.png
iPad + 妙控键盘 + code-server搭配起来,就可以实现在iPad上编程,以下是在服务器上搭建code-server项目的过程

环境

时间:2020年04月08日
服务器:阿里云
系统:Ubuntu18.04
coder-server版本:3.0.2(目前最新版)

安装

下载code-server二进制版本

在服务器上下载

mkdir /var/local/vscode # 创建目录
cd /var/local/vscode # 进入目录
wget https://github.com/cdr/code-server/releases/download/3.0.2/code-server-3.0.2-linux-x86_64.tar.gz # 下载
tar -xvzf code-server-3.0.2-linux-x86_64.tar.gz # 解压
mv code-server-3.0.2-linux-x86_64.tar.gz code-server # 改名

我选择在/var/local/vscode中创建项目,获取二进制文件

下载慢解决方法

https://d.serctl.com/,在这个网址中输入原下载地址,可以获取到一个新的下载地址,使用新的下载地址,下载速度会快很多

运行

cd code-server
export PASSWORD="yourpassword" && ./code-server --port 9999 --host 0.0.0.0 
  • export PASSWORD="yourpassword"可以指定密码,不加的话会默认生成一个,可以在运行后看到yourpassword为你的密码
  • --port 9999指定端口运行,可以修改为80端口,这样就访问的时候就不需要输入端口号
  • --host 0.0.0.0 默认是127.0.0.1,只能本地访问,无法外网访问,所以得改成0.0.0.0,才能各个浏览器都能访问

域名配置

直接一大串ip地址访问过于麻烦,改为使用域名访问,在Nginx中配置

vim /etc/nginx/sites-enabled/default

打开文件,在后面添加

server {
  listen 80;
  listen [::]:80;
  server_name yourserver_name;
  location / {
      proxy_pass http://localhost:9999/;
      proxy_set_header Host $host;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection upgrade;
      proxy_set_header Accept-Encoding gzip;
  }
}

yourserver_name为你的域名
http://localhost:9999/,9999为你配置的端口

后台运行

直接运行的话,终端断掉项目就终止运行了,以下是一种后台运行方式:使用screen后台运行,如果你了解其他后台运行方式,也可以自己设置

screen -S vscode # vscode为自己取的名字
export PASSWORD="yourpassword" && ./code-server --port 9999 --host 0.0.0.0 

关于退出,以下是网上找到的方法,我电脑mac使用iterm无法退出,就直接关闭iterm,也还是可以照样运行的
保持会话退出
这样退出的话,以后还可以通过screen -r (name)再次进入,快捷键命令:先同时按Ctrl+A+D
如果要终止

screen -ls
screen -X -S id quit # id可在上述指令中找到

为什么使用二进制版本

直接使用二进制版本code-server来搭建,这样在vscode的终端中运行的命令,等于就是在服务器终端中运行命令,在iPad上就省了连接服务器的步骤了,直接在vscode中执行指令。

37 声望
4 粉丝
0 条评论
推荐阅读
ubuntu常用软件安装(个人备忘用)
服务器:阿里云服务器Ubuntu18.04apt-get update和upgrade的区别总的来说,apt-get update就是访问服务器,更新可获取软件及其版本信息,但仅仅给出一个可更新的list,具体更新需要通过apt-get upgrade,apt-get ...

crazyPupil阅读 876

阿里云被曝 UI 抄袭,复刻 SkyWalking Trace Profiling 页面
2023 年 1 月 3 日,SkyWalking 官网发布消息,称阿里云抄袭了 SkyWalking Trace Profiling 整体页面 UI,包括页面布局、文字和分析任务设置,唯一的区别仅有颜色方案。

鸣飞5阅读 4.7k

VS Code For Web 深入浅出 -- 进程间通信篇
在上一篇中,我们一起分析了 VS Code 整体的代码架构,了解了 VS Code 是由前后端分离的方式开发的。且无论前端是基于 electron 还是 web,后端是本地还是云端,其调用方式并无不同。

Duang4阅读 1.4k

VSCode 格式化哲学
当我们说「团队需要统一的代码样式」,大家都没有什么反对意见;但当问题变为「统一成什么样式?」时,大家的声音就嘈杂了起来。人们对于特定的编码方式很抵触,没有人喜欢花时间这样写代码,没人愿意接受别人的...

Cheri2阅读 620

VS Code For Web 深入浅出 -- Server 模块设计篇
在了解了 VS Code 的通信机制后,我们可以着手分析 VS Code Server 中各模块的实现以及设计思路了。<!-- more -->VSCode Server 模块设计通过之前的介绍我们可以了解到,VS Code 的能力是前后端分离的,这...

Duang1阅读 1.6k

汽车行业场景化营销新方向:基于 WebGL 的网上虚拟车展
车展作为车市的风向标,代表着汽车发展的趋势,也是厂商展示自己、推广自己的舞台。WebGL 作为一种新兴的技术,为 Web 端提供了交互式三维动画新体验,汽车之家的网上车展就是两者结合之后的一种新的产品形态。

之家技术阅读 4.8k

封面图
SpringMVC-ResponseBodyAdvice
ResponseBodyAdvice接口可以在将handler方法的返回值写入response前对返回值进行处理,例如将返回值封装成一个与客户端约定好的对象以便于客户端处理响应数据。本篇文章将学习如果使用ResponseBodyAdvice以及其实...

半夏之沫2阅读 4.3k

37 声望
4 粉丝
宣传栏