Linux 原生部署

约 7 分钟阅读 · systemd
直接安装 CMSingBox 和内置 sing-box 基础内核,由 systemd 守护运行。适合 Debian、Ubuntu、Rocky Linux 等使用 systemd 的服务器、小主机和虚拟机。

环境要求

  • amd64、arm64 或 armv7 Linux。
  • root 权限、systemd 与 curl。
  • 服务器可访问 GitHub Raw;安装后可访问订阅源。
  • 后台默认使用 80,代理 2080,控制面板 9090;DNS 启用后使用 53。
uname -m
command -v systemctl
ss -lntup | grep -E ':53|:2080|:9090|:80' || true

一键安装

curl -fsSL https://raw.githubusercontent.com/qwernot/CM/main/deploy/install.sh | sudo sh

完成后打开 http://服务器IP:80,初始账号和密码均为 admin。脚本会自动安装透明代理需要的 nftables 和 iproute2,且不会在升级时删除数据。

自定义参数

改变后台端口:

curl -fsSL https://raw.githubusercontent.com/qwernot/CM/main/deploy/install.sh | sudo env CMSINGBOX_PORT=19092 sh

改变安装和数据目录:

curl -fsSL https://raw.githubusercontent.com/qwernot/CM/main/deploy/install.sh | sudo env CMSINGBOX_INSTALL_DIR=/opt/cmsingbox CMSINGBOX_DATA_DIR=/srv/cmsingbox CMSINGBOX_PORT=80 sh
端口归属原生部署直接监听宿主机。后台端口由安装参数决定;混合代理、控制台和 DNS 端口在 CMSingBox 设置中修改。53 被 systemd-resolved、dnsmasq 或 AdGuard 占用时,应先换端口或停用冲突服务。

首次配置

  1. 登录并修改后台密码。
  2. 添加订阅并刷新,确认节点出现。
  3. 在设置中确认 HTTP/SOCKS5、允许局域网访问和可选认证。
  4. 按需启用独立 DNS 与透明代理;不需要 DNS 时保持关闭。
  5. 保存设置、应用配置并启动 sing-box。
  6. 访问 http://服务器IP:9090/ui/ 检查代理控制台。

服务管理

systemctl status cmsingbox --no-pager
journalctl -u cmsingbox -f -n 100
systemctl restart cmsingbox
systemctl stop cmsingbox
systemctl start cmsingbox
位置用途
/opt/cmsingbox/cmsingbox管理程序
/var/lib/cmsingbox默认持久数据、内核与配置
/etc/cmsingbox.env授权公钥环境变量
/etc/systemd/system/cmsingbox.servicesystemd 服务

更新与备份

先在“设置 → 数据管理”导出备份,再重新执行一键安装命令。脚本会替换管理程序,已有数据和用户下载的内核会保留;若数据目录中没有可执行内核,则补入基础内核。

sudo tar -C /var/lib -czf cmsingbox-data-backup.tar.gz cmsingbox
curl -fsSL https://raw.githubusercontent.com/qwernot/CM/main/deploy/install.sh | sudo sh

快速排障

  • 后台打不开:检查 systemctl status、80 监听和系统防火墙。
  • sing-box 重启:在后台日志看第一条配置错误,撤销最近的自定义 JSON。
  • 订阅下载失败:检查服务器 DNS、系统时间和订阅 URL。
  • 代理 HTTP 错误:确认节点可用、代理模式和最终出站,再看控制台连接日志。