code-server 安装部署

Code-Server 最新版部署教程(优化版)

一、核心需求响应

你需要一份基于最新版 Code-Server 的部署教程,优化原有老旧版本(v3.10.2)的安装步骤,并适配 Nginx 已配置证书的场景,同时补充生产环境必备的配置(如后台运行、开机自启),让部署流程更规范、更易用。

二、Code-Server 简介

Code-Server 是 VS Code 的网页版实现,可将 VS Code 部署在远程服务器上,通过浏览器访问,核心优势:

  • 跨平台:Windows/macOS/Linux 服务器均支持;
  • 全功能:保留 VS Code 插件、终端、代码编辑等核心能力;
  • 远程开发:无需本地安装开发环境,直接在服务器上编写/运行代码。

三、最新版 Code-Server 部署步骤(Linux 通用)

1. 环境准备

  • 服务器系统:CentOS/Ubuntu/Debian(推荐 Ubuntu 20.04+);
  • 依赖:确保安装 wgettar(默认已安装,缺失则执行 yum install wget tar -y/apt install wget tar -y);
  • 端口:开放计划使用的端口(如 8082,需在防火墙/安全组放行)。

2. 下载并解压最新版 Code-Server

方式1:手动下载(推荐,可控性高)

1
2
3
4
5
6
7
8
9
10
11
12
# 1. 查看最新版本号(可选,也可直接访问 https://github.com/coder/code-server/releases 获取)
LATEST_VERSION=$(curl -s https://api.github.com/repos/coder/code-server/releases/latest | grep -o '"tag_name": "v[^"]*' | cut -d'"' -f4)
echo "最新版本:$LATEST_VERSION"

# 2. 下载对应版本(AMD64 架构,ARM 架构需替换文件名)
wget https://github.com/coder/code-server/releases/download/${LATEST_VERSION}/code-server-${LATEST_VERSION#v}-linux-amd64.tar.gz

# 3. 解压文件
tar -xzf code-server-${LATEST_VERSION#v}-linux-amd64.tar.gz

# 4. 进入解压目录(简化目录名,方便后续操作)
cd code-server-${LATEST_VERSION#v}-linux-amd64

方式2:一键安装脚本(官方推荐,自动适配系统)

1
2
# 官方一键安装脚本(自动识别系统/架构,安装最新版)
curl -fsSL https://code-server.dev/install.sh | sh
  • 安装完成后,可直接通过 code-server 命令启动(无需进入解压目录)。

3. 启动 Code-Server(适配 Nginx 已配置证书场景)

原有教程仅支持临时启动(终端关闭即停止),以下补充临时启动生产环境启动两种方式:

方式1:临时启动(测试用)

1
2
3
4
# 配置密码 + 启动(无需证书参数,因 Nginx 已配置 HTTPS)
export PASSWORD="你的登录密码" && ./bin/code-server --port 8082 --host 0.0.0.0
# 若通过官方脚本安装,直接执行:
# export PASSWORD="你的登录密码" && code-server --port 8082 --host 0.0.0.0
  • 参数说明:
    • --port 8082:指定运行端口(可自定义,如 80、8888);
    • --host 0.0.0.0:允许外网访问(仅填 127.0.0.1 则仅本机可访问);
    • 省略 --cert/--cert-key:因 Nginx 已配置 HTTPS,无需 Code-Server 单独配置证书。

方式2:生产环境启动(后台运行 + 开机自启)

步骤1:创建配置文件(替代环境变量,更易维护)
1
2
3
4
5
6
7
8
9
10
# 创建配置目录
mkdir -p ~/.config/code-server

# 写入配置文件(设置密码、端口、监听地址)
cat > ~/.config/code-server/config.yaml << EOF
bind-addr: 0.0.0.0:8082
auth: password
password: 你的登录密码
cert: false # 关闭内置证书(Nginx 已配置)
EOF
步骤2:创建 systemd 服务(实现后台运行 + 开机自启)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 创建服务文件
cat > /etc/systemd/system/code-server.service << EOF
[Unit]
Description=Code-Server (VS Code Web)
After=network.target

[Service]
Type=simple
User=root # 运行用户(可改为普通用户,如 ubuntu)
Environment=NODE_ENV=production
ExecStart=/root/code-server-<版本号>-linux-amd64/bin/code-server --config ~/.config/code-server/config.yaml
# 若通过官方脚本安装,ExecStart 改为:/usr/bin/code-server --config ~/.config/code-server/config.yaml
Restart=always # 进程崩溃自动重启

[Install]
WantedBy=multi-user.target
EOF
步骤3:启动并设置开机自启
1
2
3
4
5
6
7
8
9
10
11
# 重新加载 systemd 配置
systemctl daemon-reload

# 启动服务
systemctl start code-server

# 设置开机自启
systemctl enable code-server

# 查看运行状态(验证是否启动成功)
systemctl status code-server

4. Nginx 反向代理配置(补充,适配已配置证书场景)

若需通过域名访问(如 code.yourdomain.com),补充 Nginx 反向代理配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
server {
listen 443 ssl http2;
server_name code.yourdomain.com; # 你的域名

# 已配置的证书(无需修改)
ssl_certificate /path/to/your/cert.pem;
ssl_certificate_key /path/to/your/key.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384;

# 反向代理到 Code-Server 端口
location / {
proxy_pass http://127.0.0.1:8082;
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 X-Forwarded-Proto \$scheme;
# 支持 WebSocket(Code-Server 终端/实时编辑依赖)
proxy_http_version 1.1;
proxy_set_header Upgrade \$http_upgrade;
proxy_set_header Connection "upgrade";
}
}
  • 配置完成后,重启 Nginx:systemctl restart nginx
  • 访问 https://code.yourdomain.com 即可登录 Code-Server。

四、访问与使用

  1. 直接访问:http://服务器IP:8082(未配置 Nginx)/ https://code.yourdomain.com(配置 Nginx);
  2. 输入配置的密码,即可进入 Web 版 VS Code;
  3. 核心功能:
    • 安装插件:和本地 VS Code 一致,在扩展市场搜索安装;
    • 终端:底部终端可执行服务器命令(如 npm installgit clone);
    • 文件管理:左侧资源管理器可编辑服务器上的文件。

五、常见问题解决

1. 启动失败:端口被占用

1
2
3
4
5
6
7
8
9
# 查看端口占用
netstat -tulpn | grep 8082

# 杀死占用进程(替换 <PID> 为实际进程号)
kill -9 <PID>

# 或修改 Code-Server 端口(如改为 8888)
sed -i 's/8082/8888/g' ~/.config/code-server/config.yaml
systemctl restart code-server

2. 无法外网访问

  • 检查服务器防火墙/安全组:放行 8082 端口(或 Nginx 配置的 443 端口);
  • 确认启动参数为 --host 0.0.0.0(而非 127.0.0.1);
  • 若使用云服务器(阿里云/腾讯云),需在控制台安全组添加端口规则。

3. 密码失效/忘记密码

1
2
3
4
5
# 修改配置文件中的密码
sed -i 's/原密码/新密码/g' ~/.config/code-server/config.yaml

# 重启服务
systemctl restart code-server

六、参考资料

  1. Code-Server 官方文档:https://github.com/coder/code-server
  2. Code-Server 安装教程:https://code-server.dev/docs/installation
  3. Nginx 反向代理配置:https://github.com/coder/code-server/issues/4443
  4. 旧版本部署参考:https://blog.csdn.net/day_to_die/article/details/105990565

总结

关键点回顾

  1. 版本升级:替换老旧 v3.10.2 为最新版,提供手动下载和官方一键安装两种方式;
  2. 启动优化:补充生产环境配置(后台运行 + 开机自启),替代临时终端启动;
  3. 证书适配:明确 Nginx 已配置证书时,无需传递 --cert/--cert-key 参数;
  4. 反向代理:补充 Nginx 配置,支持域名访问并适配 WebSocket(终端/实时编辑必备);
  5. 问题排查:新增端口占用、外网访问、密码重置等常见问题解决方案。

通过以上步骤,可快速部署一个稳定、可维护的 Code-Server 服务,满足远程开发、云端编码的核心需求。


code-server 安装部署
https://cszy.top/20210715-CodeServer/
作者
csorz
发布于
2021年7月13日
许可协议