01 · PREPARATION
准备工作
先准备好账号、工具和权限。缺少任何一项都不要急着安装服务。
- 一台可以重装系统、拥有公网 IPv4 的 VPS。
- 一个域名(可选但推荐),以及域名 DNS 服务商账号。
- SSH 工具,例如 Windows Terminal、PowerShell 或 Termius。
- 服务器 root 权限,或一个能够使用 sudo 的普通账号。
- 用于测试的手机或电脑客户端。
- 能够复制命令、查看命令返回值,并在报错时停止继续操作。
只记录服务名称、用途和配置路径。密码、Token、私钥、连接链接应放进可信密码管理器,不要写在公开文档里。
02 · CHOOSE A VPS
购买 VPS
选择 VPS 时不要只看价格。先确认用途和每月预算,再逐项比较:
地区与网络质量
优先选择离主要使用地点较近、延迟稳定且路由质量合适的地区。不要只看测速峰值。
带宽与流量
确认端口带宽、每月流量、超额计费和是否限制长期高占用。
CPU 与内存
轻量自用通常从 1 核、1–2 GB 内存起步;同时运行面板、网站或数据库时应预留更多资源。
系统与重装
确认支持 Ubuntu 22.04/24.04 LTS 或 Debian 12,并允许随时重装。
网络与安全组
确认提供公网 IPv4、可管理安全组,并允许开放业务所需端口。
长期运行
检查续费价格、备份能力、服务条款、工单响应和供应商稳定性。
推荐系统
- Ubuntu 22.04 LTS:资料多、兼容性成熟。
- Ubuntu 24.04 LTS:适合新部署,但安装前要确认目标服务已兼容。
- Debian 12:系统精简、稳定,适合熟悉 Debian 系的软件。
保存供应商的控制台入口与救援方式,并立即更换初始密码。不要把登录邮件或服务器信息转发到公共群。
03 · SSH
连接服务器
- 在云服务商控制台找到服务器公网 IP、登录用户名和 SSH 端口。
- 确认安全组已经允许你从当前网络访问 SSH 端口。
- 在 Windows PowerShell 或 Windows Terminal 中执行命令。
使用 root 登录
ssh root@你的服务器IP如果云主机默认不是 root 用户
ssh ubuntu@你的服务器IP第一次连接会显示主机指纹。先和云控制台信息核对,确认无误后再接受。登录成功后执行:
确认当前身份和系统
whoami
hostnamectl
ip a常见 SSH 问题
Permission denied
用户名、密码或密钥不正确;确认云面板给出的登录用户,并检查密钥文件权限。
Connection timed out
安全组、系统防火墙或云厂商网络未放行 SSH 端口;先在控制台检查端口规则。
Connection refused
SSH 服务未启动或端口已修改;通过云厂商控制台登录后检查 ssh 服务。
Host key changed
服务器重装后主机指纹会变化;先确认确实是自己的服务器,再清理本机旧记录。
密码始终错误
检查键盘布局、大小写和粘贴空格;部分云主机默认只允许密钥登录。
04 · DOMAIN & DNS
绑定域名和 DNS 解析
域名不是所有服务的硬性要求,但使用 TLS、迁移服务器和长期维护时通常更方便。
- 进入域名 DNS 管理页。
- 新增一条记录:主机记录填
node,类型选A。 - 记录值填
你的服务器IP,保存后得到示例地址node.example.com。 - 如果 DNS 平台支持代理,先根据目标服务官方文档确认能否代理;不确定时使用仅 DNS 解析。
检查 DNS
nslookup node.example.com
ping node.example.com解析通常几分钟生效,也可能因缓存持续数小时。Ping 不通不一定代表 DNS 错误,有些服务器会禁用 ICMP;以 nslookup 返回地址为主要判断依据。
05 · FIREWALL
开放安全组与防火墙端口
云服务商安全组和服务器系统防火墙是两层不同的控制。两边都必须允许,外部连接才可能到达服务。
Ubuntu / Debian UFW 示例
ufw allow 22/tcp
ufw allow 443/tcp
ufw allow 8443/tcp
ufw status22是常见 SSH 端口;如已修改,请填实际端口。443常用于 HTTPS/TLS 服务。8443只是示例高位端口,不代表必须使用。- 管理面板建议使用随机高位端口,并限制允许访问的来源 IP。
先确认 SSH 规则不会把自己锁在服务器外,再启用或修改防火墙。SSH 端口、面板端口和管理路径不要告诉陌生人。
06 · BASE SYSTEM
安装基础环境
先更新软件索引并安装常用工具。正式服务器升级前应先做快照或备份。
更新系统与基础工具
apt update && apt upgrade -y
apt install curl wget unzip socat cron -y需要容器时安装 Docker
只从 Docker 官方渠道获取安装脚本,执行前可先下载并检查内容。
Docker 示例
curl -fsSL https://get.docker.com | bash
systemctl enable docker
systemctl start docker
docker --version- 系统时间和时区正确。
- 磁盘仍有足够空间。
- Docker 或目标运行环境版本符合服务要求。
- 重启服务器后 SSH 仍能正常连接。
07 · SERVICE
安装服务面板或节点服务
可以使用带管理界面的面板,也可以直接运行独立服务。3X-UI、X-UI、Docker Compose 或其他服务的安装命令会随版本变化, 应以项目官方仓库和发行说明为准,不要复制来源不明的一键脚本。
- 确认项目官方地址、最新稳定版本、支持的系统和备份方法。
- 安装前记录脚本会创建的用户、目录、端口和 systemd 服务名。
- 安装后立即修改默认账号、密码、管理端口和访问路径。
- 检查服务是否监听预期端口,并确认日志没有持续报错。
- 如果使用面板,开启 HTTPS 后再进行远程管理。
systemd 服务
systemctl status 服务名
systemctl restart 服务名
systemctl enable 服务名
journalctl -u 服务名 --no-pager -n 100Docker 服务
docker ps
docker compose ps
docker compose logs --tail=100 服务名
docker compose restart 服务名查看监听端口
ss -lntp修改面板端口或 HTTPS 前,保持 SSH 会话开启。确认新入口可访问后再关闭旧会话,避免因配置错误失去管理权限。
08 · HTTPS / TLS
配置 HTTPS / TLS 证书
方式 A:面板自动申请
适合域名已经正确解析、80/443 没有被其他程序占用,并且面板支持自动签发证书的情况。
方式 B:DNS TXT 验证
适合 80 端口被占用、服务器不能直接接受验证,或希望申请通配符证书的情况。
- 确认域名已经指向当前服务器。
- 检查 80/443 是否被占用,并停止不需要的冲突服务。
- 按面板或证书工具要求完成 HTTP 或 DNS 验证。
- 将完整证书链和私钥路径填入目标服务,并限制私钥文件权限。
- 重启服务后,从外部浏览器检查证书域名和有效期。
80 端口被占用
用 ss -lntp 找出占用程序;不要同时让两个服务监听同一地址和端口。
DNS TXT 未生效
核对记录名称和值,等待缓存更新;旧验证记录不要和本次记录混淆。
签发频率受限
停止重复点击申请,先修复验证条件,再等待证书机构限制窗口结束。
证书路径错误
确认填写的是实际文件路径,运行服务的账号有读取权限,并区分证书链与私钥。
面板 HTTPS 无法访问
检查面板端口、安全组、防火墙、证书格式和服务日志;必要时通过 SSH 恢复旧配置。
09 · INBOUND
创建通用节点配置
不同服务的字段名称不同,但一个入站通常需要下面这些信息。本教程不强制使用任何单一协议。
名称与监听
使用能说明用途的入站名称;监听地址与端口按官方文档填写,避免和现有服务冲突。
协议与认证
根据合法用途和客户端兼容性选择协议,并使用工具生成独立的认证信息,不要复用公开示例。
传输与安全
TLS、Reality、WebSocket 等选项仅在目标服务支持且你理解其含义时启用,服务端和客户端必须完全一致。
客户端信息
保存地址、端口、认证信息和所需参数;分享链接、二维码和订阅链接都应视为密码。
- 创建入站前,用
ss -lntp确认目标端口未被占用。 - 只开放该入站真正需要的云安全组和防火墙端口。
- 保存配置并重启或重新加载服务。
- 再次检查监听端口和日志,确认配置被成功加载。
- 生成客户端连接信息,并先在自己的测试设备上验证。
不要公开节点链接、二维码、UUID、私钥或订阅地址,也不要发到公共群。泄露后应立即作废并重新生成。
10 · CONNECTIVITY TEST
客户端连接测试
- 把连接信息导入支持该配置的客户端,先不要手工修改字段。
- 确认手机或电脑时间自动同步,域名已解析到当前服务器。
- 在服务器上确认服务运行、端口监听和日志没有认证或证书错误。
- 分别使用 Wi-Fi 与移动网络测试,排除单一网络环境影响。
- 测试成功后重启一次服务器,确认服务会自动恢复。
端口与服务
ss -lntp
systemctl status 服务名域名与 HTTPS
nslookup node.example.com
curl -I https://node.example.comDocker
docker ps
docker compose logs --tail=100 服务名11 · TROUBLESHOOTING
常见错误排查
按“DNS → 云安全组 → 系统防火墙 → 端口监听 → 服务日志 → 客户端配置”的顺序检查,避免同时修改多个变量。
客户端连接超时
检查域名解析、云安全组、UFW、服务监听地址与端口;从外部网络重新测试。
域名解析到错误地址
核对 A 记录和值,等待 DNS 缓存更新,并分别查询本地 DNS 与公共 DNS。
端口没有监听
服务可能未启动、配置未加载或端口冲突;检查服务状态和日志。
证书错误
核对域名、有效期、证书链和私钥路径;确认域名已经指向当前服务器。
面板无法打开
确认面板端口、访问路径、HTTPS 设置、安全组和防火墙;不要直接开放所有端口。
服务启动后立即退出
查看 systemd 或容器日志,重点检查配置格式、权限、路径和端口冲突。
只有部分网络能连接
检查 IPv4/IPv6、DNS 缓存、运营商网络差异和客户端时间是否准确。
客户端导入后无效
重新核对地址、端口、认证信息、传输参数和 TLS 选项,避免手工漏填字段。
一轮基础检查
hostnamectl
ip a
ss -lntp
ufw status
systemctl status 服务名
journalctl -u 服务名 --no-pager -n 100
docker ps12 · SECURITY
安全建议
- 修改面板默认账号、密码、端口和访问路径。
- 管理面板开启 HTTPS,并仅向可信来源开放管理端口。
- SSH 优先使用密钥登录;确认密钥登录正常后,再评估是否关闭密码登录。
- 只开放实际需要的端口,定期复查云安全组和系统防火墙。
- 定期更新系统、面板和服务,但升级前先备份并阅读兼容性说明。
- 不要运行来源不明的一键脚本,也不要把陌生命令直接粘贴到 root 终端。
- 不要公开分享连接链接、二维码、UUID、私钥或订阅地址。
- API Key、Token、密码和证书私钥不得写入网页或提交到 GitHub。
- 重要配置下载到本地后离线保存,并限制备份文件的读取权限。
13 · BACKUP
备份建议
- 记录系统版本、服务版本、监听端口、面板路径和域名。
- 备份面板数据库、服务配置、证书、容器编排文件和环境变量文件。
- 为备份写明日期,并在本地验证压缩包可以正常打开。
- 至少保留一份不在当前 VPS 上的离线备份。
- 每次大版本升级、修改证书或调整入站前先做一次新备份。
- 恢复演练时使用测试环境,不要等到故障发生才第一次尝试恢复。
通用备份目录示例
mkdir -p /root/backup-network-service
tar -czvf backup-network-service.tar.gz /root/backup-network-service下载到本地电脑
scp root@你的服务器IP:/root/backup-network-service.tar.gz .服务可连接、证书有效、重启后自动恢复、离线备份可读取,并且没有在公开位置留下任何凭证,才算完成部署。