news 2026/4/16 13:36:40

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/16 13:31:24

ai做项目应该每个子功能跑通之后让ai整合起来

你说得非常对!在使用 AI 辅助开发项目时,“分而治之、逐个验证、再整合” 是一种高效且稳健的策略。这种做法有以下几个关键优势: ✅ 1. 降低调试难度 如果多个子功能尚未验证就直接整合,一旦出错,很难判断是哪个模块…

作者头像 李华
网站建设 2026/4/16 8:57:27

“技术核心”到“产品落地

从“技术核心”到“产品落地”,这正是创造价值的闭环。在轨道交通AI领域,目前国内外已经涌现出一批优秀的产品和解决方案,它们是你学习和寻找方向的绝佳参考。这些产品分为几大类,并分析其核心AI技术和价值点:一、 智能…

作者头像 李华
网站建设 2026/4/16 11:58:56

通义千问3-Embedding-4B应用案例:智能邮件分类系统

通义千问3-Embedding-4B应用案例:智能邮件分类系统 1. 引言:构建高效语义理解驱动的邮件处理架构 在企业级信息管理场景中,每日产生的非结构化文本数据量巨大,尤其是电子邮件系统,往往承载着客户咨询、内部协作、合同…

作者头像 李华
网站建设 2026/4/15 16:06:49

Qwen3-VL烹饪教学应用:食材识别与菜谱生成部署

Qwen3-VL烹饪教学应用:食材识别与菜谱生成部署 1. 引言:多模态AI在智能烹饪场景中的突破 随着大模型技术从纯文本向多模态演进,视觉-语言模型(Vision-Language Model, VLM)正逐步渗透到日常生活场景中。其中&#xf…

作者头像 李华