搭建网页版VSCode(code-server)

直接安装比较麻烦,无特殊需求直接使用docker镜像搭建更简单便捷。

在配置好之后即可通过域名加端口号的方式使用(example.com:666)

官方文档:https://coder.com/docs/code-server/v3.11.1

准备一台Linux服务器

然后去code-server的GitHub页面下载安装包,点击release

找到最新的amd64版本,由于服务器使用的是centos,所以下载的是rpm包。

国内服务器:

由于国内GitHub直接下载较慢,建议右键复制链接粘贴到迅雷下载

下载完成之后再上传到服务器上,这样下载要比直接wget的方式更快

scp是一个从本地电脑向服务器传输文件的命令

主要用法是 : scp 本地路径 用户名@IP:远程路径

-P是指定端口号

具体使用方法Linux scp命令

例如这是我输入的内容

scp -P 222 "C:\Users\15732\Downloads\code-server-3.11.1-amd64.rpm" root@43.132.163.194:/root

如果是国外服务器,不需要先下载到本地,直接:

 wget+下载链接

wget https://github.com/cdr/code-server/releases/download/v3.11.1/code-server-3.11.1-amd64.rpm

 即可即可下载完成

这里直接存到了root用户的目录下

下一步直接安装

rpm -i code-server-3.11.1-amd64.rpm

什么提示也没有,代表安装成功

输入code-server启动,然后在浏览器中输入服务器的公网IP,测试是否可以正常访问

很正常,访问失败。

修改配置文件

根据输入code-server后,输出的第一行信息

info Wrote default config file to ~/.config/code-server/config.yaml

查看并编辑一下配置文件

bind-addr: 127.0.0.1:8080

这一行的意思是允许访问的IP是127.0.0.1

端口是8080

*由于大多数电脑没有公网IP,且没有固定IP,所以只能允许所有IP访问

修改成0.0.0.0:8080

保存,Ctrl+C关闭code-server,再重新打开

浏览器输入服务器 公网IP:端口号 测试访问

访问成功,找到刚才配置文件中的密码

到这一步,code-server服务初步搭建完成。

配置域名并开启SSL

找一个域名,解析到这一个服务器

然后通过域名:端口号的方式访问测试

访问成功

下一步配置SSL

首先要申请一个域名证书

要用免费的,可以使用浏览器承认的“来此加密”域名证书(Let’s Encrypt是一个免费的,自动化的,开放的证书颁发机构(CA),为公众的利益而运行。它是由[Internet Security Research Group(ISRG)](/ isrg /)提供的服务。)

官方安装教程https://coder.com/docs/code-server/v3.11.1/guide#using-lets-encrypt-with-caddy

官网链接https://letsencrypt.osfipin.com/

申请完成之后将压缩包下载下来

得到里面的fullchain.crt和private.key

fullchain.crt是证书文件

private.key是证书密钥

将这两个证书文件放在服务器上

为避免各种奇奇怪怪的问题,最好是见一个一个文件夹在根目录下

比如说我建立了一个www文件夹用来存放我的证书文件

由于证书文件本质上就是一个文本文件

可以使用记事本打开,然后在目录下创建一个文本文件,编辑这个文件,将内容粘贴进去

上传好证书之后去编辑code-server的配置文件

vim ~/.config/code-server/config.yaml

打开之后是这个样子,将cert: false这一行删除

bind-addr: 0.0.0.0:8080
auth: password
password: fc43bc975b3907e838bad4cf
cert: /www/fullcert.crt
cert-key: /www/private.pem 

这是我编辑好的配置文件

bind-addr:这一项是指绑定的地址,code-server原意是只允许指定的ip访问它,但是如果真的只允许指定IP访问,就一言难尽了。

auth:这一项是指密码验证方式,有password和none两种选择,none无密码

接下来两个就是证书和证书密钥

配置好之后重启code-server

# 开机启动
systemctl enable code-server

# 关闭开机启动
systemctl disable code-server

# 启动服务
systemctl start code-server

# 停止服务
systemctl stop code-server

# 重启服务
systemctl restart code-server

# 查看服务状态
systemctl status code-server

不是很非常的完美,还要输入端口号。以后慢慢完善

还可以用edge将这个页面安装为应用

排错

第二天打开自己服务器,出现了以下错误

可能是我这台服务器以前配置密码的环境变量

因为,上面我用的是一台全新的服务器所以按着官方文档配置,问题不会太大。

这个问题在于使用了

systemctl 命令来重启来重启code-server服务

它会加载位于/lib/systemd/system/目录下的code-server.service文件,而这个文件存放着以前设置的旧密码

这里显示密码是123456 输入这个密码即可进入

Failed to enable unit: Unit file code-server.service does not exist.

出现了这个问题,就需要去手动创建这个文件

文件内容:

[Unit]
Description=code-server
After=nginx.service
[Service]
Type=Simple
Environment=PASSWORD=123456
ExecStart=/usr/bin/code-server --bind-addr 0.0.0.0:6666 --user-data-dir /var/lib/code-server --auth password 
Restart=always 
[Install]
WantedBy=multi-user.target

vim /usr/lib/systemd/system/code-server.service

复制以上内容,并修改Environment=PASSWORD=你的密码

这时候要注意,使用systemctl启动的时候并不是使用config.yaml里面的密码

所以会出现Please log in below.Password was set from $PASSWORD.

这句话的意思就是密码存在了环境变量里面

设置完成之后再有一些问题

可以试一下重启服务器,前提是服务器用于非生产环境

直接安装显得比较麻烦,建议直接使用docker镜像搭建。

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇