在线编程之Code-Server部署

Posted 左手八嘎呀路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在线编程之Code-Server部署相关的知识,希望对你有一定的参考价值。

部署code-server并在平板中用浏览器敲代码与电脑同步

应用背景、想法和场景

背景

不知道有没有小伙伴和我有一样的感受,就是手上接了一些私活,然后经常要维护,或者说一天不敲代码浑身不舒服的情况(这里凡尔赛一下哈哈哈)。这样就容易造成一个麻烦,就是出门一直要带着电脑,不然就感觉心理慌慌的。因此,我就想了一些方法用向日葵连接自己的电脑(以前没上大学前没有电脑,经常改bug时候都是用手机连接VPS连的,不是云电脑!因为穷用不起云电脑的配置,那个速度能卡到到你奔溃)。用向日葵不方便的一点就是,自己的电脑要一直开机,占用资源,而且有时候网不稳定就容易凉凉。

想法

出门不要一直带个电脑,带个平板就敲代码能应急(因为穷暂时还没买平板)

因此大概得实现以下几个需求:

  • 通过服务器或者仓库来同步本地和远程仓库文件
  • 通过浏览器就能够直接编写代码(这个是重点)
  • 能够通过远程部署编译器直接编译运行代码

话不多说先看效果

应用场景

对于编程爱好者或者生产者来说,这种需求肯定不止我一个有,所以肯定有相关的程序可以使用(也不知道以前哪里来的这种想法)。然后我就去网上搜了一番,找到了我心爱的VsCode(因为它本省是node写的,所以要弄成在线版相对还是比较容易的)。在线的VsCode有一个名字:code-server(传送门GitHub),然后就开始了部署之旅。

前期准备

服务器

小编买的是阿里云的学生机(反正只是凑合着用,手上还有十台服务器不过大部分不是我的),(阿里官方的服务器购买部署教程)不论是腾讯还是阿里的服务器都是 一样的道理。我安装的是Ubuntu18的系统,然后在安全组开放所有端口(可以根据自己的需求来)。

部署基本服务之后,接下来是具体部署环境

  • 安装宝塔程序(根据个人喜好可以不安装,具体教程自行百度以下)

  • 安装code-server环境了(中间可能会有很多问题,比如需要更新程序,下载慢换源等问题大家自行看其他博主的教程)

# 克隆代码
git clone https://github.com/cdr/code-server.git

# 进入目录
cd code-server

# 通过脚本安装code-server
./install.sh
  • 运行code-server

首先设置在线编辑器的连接密码

export PASSWORD="这里设置一个密码"

然后运行code-server

code-server --auth password --port 端口号 --host 0.0.0.0

运行之后去浏览器访问 http://ip:端口
然后输入刚刚设置的密码
简单配置vscode即可

编辑器配置和vscode一模一样

  • 配置后台运行

上述配置过后,code-server基本运行已经没问题了。但是当关闭ssh之后,编辑器就无法访问了,这个问题玩过linux的应该都懂。所以就应该用后台运行的方式(因为我们的目的就是能够在平板上进行远程编程,总不可能一直用ssh吧)

小编用的是nohup的方法,下面就简单介绍nohup的使用方法(也可以深入学习以下其他博主写的nohup基本命令)

命令作用例子说明
nohup 指令 &“nohup” 表示程序不被挂起,最后一个“&”表示后台运行程序nohup code-server --auth password --port 88 --host 0.0.0.0 &所有运行的日志会存放在nohup.out文件下
jobs -l可显示当前终端所有任务的PID,jobs的状态可以是running,stopped,Terminated。+ 号表示当前任务,- 号表示后一个任务。jobs -l这里主要是查看PID然后配合下面的kill命令来结束程序
kill %PID这里作用是杀死后台nohup的进程kill %12345可以结束code-server服务

本地仓库

远程环境基本没问题了,现在就是要把本地的环境同步到远程里头。因为平时也是用vscode所以也比较好举例。

  • 首先在vscode中安装SFTP插件教程传送门
  • 配置自动同步
  • 然后把文件都上传到服务器当中
  • 在浏览器打开code-serve地址,测试代码
  • 然后就可以在平板当中愉快玩耍了

以上是关于在线编程之Code-Server部署的主要内容,如果未能解决你的问题,请参考以下文章

code-server搭建Web IDE实现浏览器编程

code-server 的Java Web研发环境部署

code-server 的Java Web研发环境部署

Centos 部署Code-server

全栈编程系列SpringBoot整合Shiro(含KickoutSessionControlFilter并发在线人数控制以及不生效问题配置启动异常No SecurityManager...)(代码片段

面向面试编程代码片段之GC