Linux 原生部署
直接安装 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 占用时,应先换端口或停用冲突服务。
首次配置
- 登录并修改后台密码。
- 添加订阅并刷新,确认节点出现。
- 在设置中确认 HTTP/SOCKS5、允许局域网访问和可选认证。
- 按需启用独立 DNS 与透明代理;不需要 DNS 时保持关闭。
- 保存设置、应用配置并启动 sing-box。
- 访问
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.service | systemd 服务 |
更新与备份
先在“设置 → 数据管理”导出备份,再重新执行一键安装命令。脚本会替换管理程序,已有数据和用户下载的内核会保留;若数据目录中没有可执行内核,则补入基础内核。
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 错误:确认节点可用、代理模式和最终出站,再看控制台连接日志。