注册
『原创』『教程』搭建在线VSCode,部署Code-Server并配置反向代理实现域名访问
Brains - 灵感乌托邦

『原创』『教程』搭建在线VSCode,部署Code-Server并配置反向代理实现域名访问

六六丶
2021-11-26 / 115 评论 / 10,560 阅读 / 收录检测中...
广告
温馨提示:
本文最后更新于2023年01月02日,已超过724天没有更新,若内容或图片失效,请留言反馈。

前言

最近学习web开发,一边看视频一边练习,码代码、记笔记,实属有些不亦乐乎

但是无奈本子配置不高,每次同时打开vscode+Chrome,本子风扇呼呼作响不说,手里还像捧着个暖宝宝,实在不快

突然想起之前看到过的开源vscode—— code-server ,索性自己也来搭建一个web版的vscode

成果展示

63b2718fa7d63.png

教程开始

一、下载code-server源代码

其实codeserver有很多种安装方式,但是我这里使用的是通过宝塔进行本地安装

Docker安装虽然简单,但是后期维护和修改会很难受,所有我就采用本地安装吧

二、运行code-server

1、上传下载的文件到服务器

直接将下载好的文件上传到自己的服务器,当然你也可以先使用宝塔添加一个网站

kzs1pahh.png

然后上传到该网站对应的目录

kzs1pzwm.png

2、解压文件

kzs1qgmo.png

3、运行code-server

直接在解压的文件夹内点击终端

kzs24fj0.png

进入终端

kzs1sxym.png

然后在终端输入以下代码直接启动

./bin/code-server --host 0.0.0.0 --port 8080

如图所示就是已经完成配置.

kzs1yvrg.png

进入浏览器,输入服务器公网ip,加上刚才我们指定的端口号进入,显示欢迎界面输入密码进入

4、修改密码

在第一次开启code-server时,会在服务器 根目录-root-.config-code-server下生成一个配置文件

kzs21cy8.png

打开后可以修改 host:端口密码 ,这里建议把host改为 0.0.0.0 以能够使用外网访问

kzs225kh.png

如果不想使用密码,在 启动命令 中加 --auth none 即可无需密码进入。

kzs22x4o.png

成功访问。

到这里,我们就基本完成了 code-server 的部署。

存在的问题

虽然我们已成功部署了 code-server 服务,但有几个问题仍然不可避免!

  1. 我们使用 终端 连接的方式启动 code-server,一旦断开连接,那么 code-server 就不可以再使用了
  2. code-server 自签的证书被浏览器提示不安全
  3. 域名 + 端口的访问方式实在是太麻烦,而且还会暴露端口,不安全

优化 code-server 服务

一、问题1

1、创建开启脚本

直接在code-server同目录下创建一个 start.sh 文件,打开将以下代码复制进去

2、创建关闭脚本

创建一个 stop.sh 文件,将以下代码复制进去

kill -9 'cat save_pid.txt'  # 关闭这个进程,关闭code-server服务

这样一来我们就得到了开启和关闭的脚本文件

3、启动开启脚本

在同目录文件夹下打开终端输入以下代码,就可以直接启动code-server并保持后台

./start.sh

启动后不会有反馈,可以直接关闭当前终端,然后会发现同目录下生成了 run.log 文件

打开 run.log 即可看到运行日志

二、问题2

该步骤结合第三步,先添加一个站点,设置好域名,不需要任何环境,php 版本设置为纯静态,然后在面板的 SSL 中申请 Let’s Encrypt 免费 SSL 证书即可。

三、问题3

这里我们改变默认端口进行访问,并且使用 Nginx 反向代理

修改端口:我们可以选择合适的端口开启 code-server,如: ./code-server --port 28865

1、创建反向代理

点击刚才在宝塔 添加的网站-反向代理-添加反向代理

kzs263uz.png

输入你的 代理名称、目标URL

kzs26s6w.png

此时你就可以直接使用你的域名进行访问了,但是可能会报错 Error: WebSocket close with status code 1006

kzs27sjy.png

别急,这是正常现象,因为你的Nginx没有使用WebSocket代理

2、修改反向代理的配置文件

点击反向代理里的 配置文件 进行修改

kzs29j4k.png

在如下位置加入以下代码

然后再返回你的域名,你会发现可以正常访问了

kzs2atoh.png

结语

虽然code-server还达不到vscode的强大,但是已经可以方便很多了,至少对我来说,我的渣本再也不会呼呼作响了。

447
打赏
gzh

评论 (115)

图片
私语
取消
  1. 头像
    111
    浙江省杭州市 MacOS · Google Chrome
    纵使疾风起,皇族不言弃dfsdfsdf

    回复
  2. 头像
    Secret
    广东省佛山市 Windows 10 · QQ Browser
    安装之后可能会出现操作不了编辑器自带git管理的情况,亲测把版本卸载更换到git-2.31.1即可

    回复
  3. 头像
    123
    广东省佛山市 Windows 10 · QQ Browser
    个人一小步,人类一大步;无论大步还是小步,总是左右世界的步伐。

    回复
  4. 头像
    1231
    辽宁省盘锦市 Windows 10 · Google Chrome
    爱,其实很简单,困难的是去接受它。

    回复
  5. 头像
    zjj
    广东省佛山市 Windows 10 · QQ Browser
    芜湖 你好啊

    回复
    1. 头像
      六六丶 作者
      重庆市 Windows 10 · Google Chrome
      @ zjj
      你好你好QQ

      回复
      1. 头像
        zjj
        广东省佛山市 Windows 10 · QQ Browser
        @ 六六丶
        大佬每天都活跃呀 哈哈哈 教程让我少走了很多坑 感谢

        回复
  6. 头像
    aaaa
    黑龙江省哈尔滨市 Windows 10 · Google Chrome
    无法飞翔的翅膀也是有意义的,因为它是曾经翱翔于天空所留下的珍贵回忆

    回复
  7. 头像
    zhangsan
    江苏省南京市 MacOS · Google Chrome
    微风摇曳着窗帘,夕阳斜射入教室,在那里鼓起勇气告白的少年。即使现在也能清晰地回想起她的声音「当朋友,不行吗?」

    回复
  8. 头像
    1
    陕西省西安市 Windows 10 · Google Chrome
    每个人的心里,都有一个忘不记,却无法拥抱珍惜的人。

    回复
  9. 头像
    qwerwer
    浙江省嘉兴市 Windows 10 · FireFox
    正因为有了所有的过去,才成就了现在的我。否wer定自己所走过的路途,就意味着否定现在的自己。sdfxcv

    回复
  10. 头像
    qwe
    浙江省嘉兴市 iPhone · Safari
    在狂热思绪下喊出的爱情宣言中,存在着爱情的实体

    回复
文章目录