1. 什么是 code-server?
嘿,大家好!今天我要给大家介绍一个超棒的开源项目,叫做 code-server。这个名字听起来就很酷,对吧?它其实是一个可以在远程服务器上运行 VS Code 的服务。意思就是,你可以在任何联网的设备上,通过浏览器打开 VS Code,比如你的 iPad、Mac,甚至是手机!太方便了吧?
code-server 的优点很多。它支持 VS Code 的所有功能,你可以在扩展商店安装各种扩展,来满足不同的需求和编译环境。无论你在哪里,只要有网络,就可以随时查看和编辑你的代码。
2. 部署教程
好了,现在我们来部署 code-server。我用的是宝塔面板,所以我会以这个为例。如果你用的是其他面板,步骤可能会有点不一样。
步骤 1:下载 code-server
首先,去 code-server GitHub 发布页面 ,找到最新版本(截至 2025 年 5 月 25 日,最新版本是 4.100.1)。选择适合你服务器系统的预编译二进制文件,比如我用的是 Linux,所以选 linux_amd64
。下载下来后,上传到服务器的 /www/wwwroot/
目录下,解压缩,取个好记的名字,比如 code_server
。
步骤 2:安装 Node.js
code-server 需要 Node.js 环境。打开宝塔面板,进入“软件商店”,搜索 Node.js,安装最新的稳定版(建议选择 LTS 版本,比如 18.x 或 20.x)。
步骤 3:创建 Node.js 项目
在宝塔的“网站”管理页面,点击“添加站点”,选择“Node 项目”。站点目录选择刚才解压的 code_server
文件夹。运行命令设置为:
/www/wwwroot/code_server/bin/code-server --port 8088 --host 0.0.0.0 --auth password
-port 8088
:指定 code-server 监听的端口。-host 0.0.0.0
:允许任何 IP 访问(稍后我们会用 nginx 保护它)。-auth password
:启用密码登录。
保存后,宝塔会自动启动项目。
步骤 4:访问 code-server
在浏览器中输入 你的服务器IP:8088
(如 123.456.789.012:8088
),应该能看到 code-server 的登录页面。如果打不开,检查服务器防火墙是否放行了 8088 端口(在宝塔的“安全”页面添加规则)。
第一次登录需要密码。默认密码在 ~/.config/code-server/config.yaml
文件里。用宝塔的文件管理器搜索 config.yaml
(勾选“搜索子目录”),打开文件就能看到类似以下内容:
bind-addr: 127.0.0.1:8080
auth: password
password: xxxxxxxx
cert: false
这里的 password
就是登录密码。你可以改成自己的密码,改完后在宝塔重启项目。
步骤 5:安装扩展
登录后,code-server 的界面和 VS Code 几乎一样。你可以在扩展商店安装需要的扩展,比如 Python、C++ 或 Go 的插件。有些扩展(比如 C++)可能需要手动下载并上传到服务器,具体看扩展的说明。
小贴士:解决终端乱码
如果新建终端时出现乱码或打不开,打开 code-server 的设置,搜索 Default Profiles
,把 null
改成 bash
,再试试看。(注意:我在 Debian 上遇到过这个问题没解决,但在 Ubuntu 上没问题,可能跟系统有关。)
3. 绑定域名
如果想用域名访问 code-server,我们需要设置反向代理。因为 code-server 使用 WebSocket,宝塔的默认 nginx 配置可能不支持,需要特别设置。
步骤 1:创建静态网站
在宝塔的“网站”管理页面,添加一个新站点,选择“PHP 项目”,填写你的域名(比如 code.example.com
),不创建 FTP,PHP 版本选“纯静态”,点击确定。访问域名,应该能看到一个默认页面。
步骤 2:部署 SSL
为了安全,建议给域名部署 SSL 证书。在宝塔的网站管理页面,找到你的站点,点击“SSL”,申请免费的 Let’s Encrypt 证书。
步骤 3:设置反向代理
在站点设置中,点击“反向代理”,添加一个代理:
- 目标 URL:
http://127.0.0.1:8088
- 发送域名:
$host
保存后,宝塔会生成默认的 nginx 配置。但为了支持 WebSocket,我们需要手动调整。
步骤 4:修改 nginx 配置
在站点设置中,点击“配置文件”,找到 #PROXY-START/
和 #PROXY-END/
之间的部分,替换为:
location ^~ /
{
proxy_pass <http://127.0.0.1:8088>;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_http_version 1.1;
}
保存后,访问你的域名(比如 https://code.example.com
),应该就能打开 code-server 了。
4. 结尾
这样一来,你就可以轻松地在任何地方写代码了,不需要再背着沉重的电脑。只要有网络,你就可以用手机、iPad 甚至是平板电脑来编写代码。尤其是用 iPad 写代码,这绝对是最简单方便的方法。它完美地解决了多设备编程的需求。你可以在外面用 iPad 写代码,回家后直接在电脑上继续工作,省去了来回同步文件的麻烦,也让你的代码有了固定的“家”。