虽然自己之前搞了一台服务器,也在服务器上部署了jupyter notebook,但是仍有两个痛点没有解决:
- 服务器部署了一些代码,有时候需要修改,通过vim直接修改是不现实的,因为没有补全高亮,改起来很麻烦,只能本地改好再上传上去
- 虽然部署了jupyter,能够实现一些简单的代码编辑需求,但是仅限于ipynb,其他文件无法编辑查看,并且补全功能十分鸡肋
因此,为了能够在浏览器里面得到和本地编程一样丝滑的体验,最终决定部署一个code-server,也就是web版的vscode,实测体验和本地的vscode没有任何区别,效果如下:
搭建过程
准备
- 一台云服务器
- 一个经过公安部备案的域名
为什么要域名呢?因为我经常需要用jupyter notebook,但是这玩意在code-server里面由于安全性的原因需要通过https才能打开,但是通过ip地址是没办法走https的,因此就需要一个域名,而且是要经过备案的,不然没法访问。当然,如果你不需要用到jupyter notebook可以直接跳过这个步骤。
具体申请流程如下,以腾讯云为例:
- 购买一个域名:https://console.cloud.tencent.com/domain
- 为域名备案,走完整套流程大概要2周:https://console.cloud.tencent.com/beian
- 最后一步,添加DNS解析:https://console.dnspod.cn/
主机记录可以填一个前缀,比如code,最后就是通过code.xxx.com来访问,记录值填写服务器公网ip,这样就在浏览器里面输入域名就会自动解析到服务器的地址了
code-server配置
完成准备步骤后,就可以配置code-server了,安装步骤也很简单,依次输入以下命令就行了:
1 | curl -fsSL https://code-server.dev/install.sh | sh |
如果上面的命令因为墙的原因下载不了,就只能通过本地下载安装包,传到服务器,再手动安装,这里以ubuntu为例:
1 | sudo dpkg -i code-server_4.5.0_amd64.deb |
然后输入命令行输入code-server
, 会生成一个本地配置文件,ctrl+C关闭,再去改配置文件:
1 | vim ~/.config/code-server/config.yaml |
配置https访问
完成以上的操作,code-server的基本配置就完成了,但是之前说过,这样是不完整的,因为没有域名,并且没有https,很多操作进行不了,所以建立弄一个备案好的域名,然后根据官网给的操作说明,配置nginx和用Let's Encrypt生成证书,依次进行以下操作:
1 | 安装nginx并配置 |
配置守护进程
1 | vim /usr/lib/systemd/system/code-server.service |
这样就基本配置成功了,之后再根据自己的需要装上插件,换下主题,就完全和本地的vscode没啥区别,可以随时随地在浏览器连接服务器进行编程了!