news 2026/4/12 15:41:36

Ubuntu 使用 systemd + Nginx 部署 code-server(含 HTTPS)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu 使用 systemd + Nginx 部署 code-server(含 HTTPS)

一、code-server 简介

code-server是 Coder 团队开源的项目,它可以让你在浏览器中运行VS Code,实现远程开发环境的统一管理,适用于:

  • 云服务器远程开发
  • 内网 / 局域网开发
  • CI / 开发机统一环境
  • 无法安装 VS Code 客户端的场景

GitHub 官方仓库:
👉 https://github.com/coder/code-server


二、下载 code-server(指定版本 v4.108.1)

本教程不使用一键安装脚本,而是直接从GitHub Releases 下载指定版本,方便版本锁定和生产环境部署。

1️⃣ 下载二进制包

Linux x86_64为例:

cd/tmpwgethttps://github.com/coder/code-server/releases/download/v4.108.1/code-server-4.108.1-linux-amd64.tar.gz

如果你的服务器是 ARM 架构,请下载对应版本(如linux-arm64)。


2️⃣ 解压并安装

tar-zxvf code-server-4.108.1-linux-amd64.tar.gzsudomvcode-server-4.108.1-linux-amd64 /opt/code-server

创建软链接,方便全局使用:

sudoln-s /opt/code-server/bin/code-server /usr/bin/code-server

验证安装:

code-server --version

输出类似:

4.108.1

三、使用 systemd 创建 code-server 服务

1️⃣ 创建 systemd 服务文件

使用echo命令自动创建服务文件:

echo"[Unit] Description=code-server After=network.target [Service] Type=exec ExecStart=/usr/bin/code-server User=ubuntu Restart=always [Install] WantedBy=multi-user.target"|sudotee/etc/systemd/system/code-server.service>/dev/null

📌 说明:

  • User=ubuntu:使用普通用户运行,更安全
  • ExecStart=/usr/bin/code-server:指向刚才创建的软链接
  • Restart=always:异常自动重启

2️⃣ 重新加载 systemd

sudosystemctl daemon-reload

3️⃣ 设置开机自启并启动

sudosystemctlenablecode-serversudosystemctl start code-server

4️⃣ 查看服务状态

sudosystemctl status code-server

四、code-server 默认端口说明

code-server 默认监听:

127.0.0.1:8080

只监听本地地址,必须通过反向代理或 SSH 隧道访问,安全性更好。


五、使用 Nginx 反向代理 code-server(HTTPS)

下面示例使用mkcert 生成的本地证书,生产环境可替换为正规 CA 证书。


1️⃣ Nginx 配置示例

server { listen 443 ssl; http2 on; server_name 192.168.31.142; ssl_certificate /root/shiyan/localhost+3.pem; ssl_certificate_key /root/shiyan/localhost+3-key.pem; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; location / { proxy_pass http://localhost:8080/; proxy_set_header Host $http_host; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; proxy_set_header Accept-Encoding gzip; } }

⚠️注意:

  • WebSocket 相关 Header 必须配置,否则编辑器无法正常使用
  • proxy_pass地址需与 code-server 监听端口一致

2️⃣ 重载 Nginx

sudonginx -tsudosystemctl reload nginx

六、访问 code-server

浏览器访问:

https://192.168.31.142

首次登录需要输入code-server 密码,密码位置:

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

示例内容:

bind-addr:127.0.0.1:8080auth:passwordpassword:your_password_here

七、常见问题排查

1️⃣ 服务启动失败

查看日志:

journalctl -u code-server -f

重点检查:

  • ExecStart路径是否正确
  • User=ubuntu是否存在
  • /opt/code-server权限是否正确

2️⃣ 页面能打开但无法编辑

👉 99% 是Nginx WebSocket 头未配置完整


八、总结

本文演示了:

  • 从 GitHub Releases 下载指定版本 v4.108.1
  • 使用 systemd 管理 code-server
  • 普通用户运行,安全可靠
  • Nginx + HTTPS 反向代理访问
  • 适合生产环境和企业内部使用
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/7 6:15:57

Qwen2.5-7B-Instruct API调用避坑指南:Python实例详解

Qwen2.5-7B-Instruct API调用避坑指南:Python实例详解 1. 引言 1.1 业务场景描述 随着大模型在实际应用中的广泛落地,越来越多开发者需要基于预训练语言模型进行二次开发。Qwen2.5-7B-Instruct作为通义千问系列中性能优异的指令调优模型,在…

作者头像 李华
网站建设 2026/3/31 15:26:00

超详细版Vivado下载与安装教程:Linux系统适配说明

Vivado 在 Linux 上安装全攻略:从下载到环境配置,一次搞定 你是不是也曾在尝试在 Ubuntu 或 CentOS 上安装 Vivado 时,被一堆报错拦住去路? “ GLIBCXX not found ”、“界面打不开”、“JTAG 设备无法识别”……明明步骤都对…

作者头像 李华
网站建设 2026/3/27 11:17:27

轻量级AI模型Qwen1.5-0.5B-Chat:企业级实战案例

轻量级AI模型Qwen1.5-0.5B-Chat:企业级实战案例 1. 引言 在当前企业智能化转型的背景下,如何以低成本、高效率的方式部署具备实用对话能力的AI助手,成为众多中小团队和边缘场景的核心诉求。传统的大型语言模型虽然性能强大,但往…

作者头像 李华
网站建设 2026/3/27 16:20:56

轻量级语音理解方案落地|使用科哥构建的SenseVoice Small镜像

轻量级语音理解方案落地|使用科哥构建的SenseVoice Small镜像 1. 引言:轻量级语音理解的技术需求与挑战 随着智能语音技术在客服、教育、医疗等场景的广泛应用,对低延迟、高精度、多功能集成的语音理解系统需求日益增长。传统语音识别&…

作者头像 李华
网站建设 2026/4/9 22:22:27

有源蜂鸣器电源管理设计:工业设备报警优化方案

工业设备报警系统如何“省电又响亮”?有源蜂鸣器电源管理实战解析在一间自动化生产车间里,你是否曾注意到控制柜角落那个小小的蜂鸣器?它平时沉默不语,一旦设备过温、通信中断或急停按钮被按下,立刻“滴滴”作响——这…

作者头像 李华