Ubuntu搭建在线编译器——code-server

Posted by

1.如果我们想写一段代码在服务器上面运行,并且能够随时随地的更新我们编写的程序,我们就可以使用code-server,它是vscode的网页版本。

2.下载code-server:

code-server GitHub官方地址:https://github.com/coder/code-server/releases,我们选其中最新版本(4.40)的amd64的deb包:

wget https://github.com/coder/code-server/releases/download/v4.4.0/code-server_4.4.0_amd64.deb

3.安装code-server:

dpkg -i code-server_4.4.0_amd64.deb

4.执行code-server命令,这个时候会在新的用户主目录下生成.config/code-server目录,里面有config.yaml这个配置文件(.config这个隐藏文件我们可以使用 ls -a 命令查看)

按Ctrl+C结束进程(不是Ctrl+Z),然后进入用户主目录,打开这个配置文件,

我们将 bind-addr后面的127.0.0.1:8080修改成 0.0.0.0:希望的端口,password可以修改成自己希望设置的密码,保存退出。

5.如果我们希望code-server能够一直运行,我们就需要使用到screen 命令,我们用screen新建一个窗口后,输入code-server命令,这个时候我们就可以通过外网来访问code-server,但这个时候是http明文传输,不安全,我们可以使用ssl来以https的方式访问,

code-server 的几个参数:

–cert 后面接证书位置(crt或pem[公钥])

–cert-key 后面接密钥位置(key或pem[私钥])

例如:

code-server --cert /ssl/example.crt --cert-key /ssl/example.key

然后我们就可以通过https的方式进行登录了。

5.使用nginx反向代理:

我们可以配置code-server为只允许本地访问,然后使用nginx进行反向代理,nginx相关配置内容为:

location / {
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host $host;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection upgrade;
    proxy_set_header Accept-Encoding gzip;
}

注意:try_files $uri $uri/ =404;前面需要加上注释符号#,否则无法实现反向代理