跳转到内容
严选跨境网络服务与流媒体推荐
实机测速保障 · 专属折扣
声明:以上服务由影迷漫游评测实验室进行晚高峰抽测与流媒体解锁验证。专属链接包含推广支持,不增加您的购买成本。

3X-UI 面板自建代理完整教程 2026:VPS 一键部署多协议节点 ​

3X-UI 自建代理教程

用机场用久了,很多人都会动同一个念头:节点能不能攥在自己手里?自建的吸引力很直接——带宽独享没人跟你抢,商家跑路这种事从清单里划掉,IP、协议、端口全由自己说了算。劝退点也同样明显:服务器要自己维护,IP 被封了得自己想办法。

好在工具链已经把门槛压得很低。3X-UI 是当前用得最多的 Xray 可视化面板,建入站、加用户、看流量、发订阅都在浏览器里完成,不必再对着 JSON 配置文件逐行核对。本文按真正动手时的顺序走:判断是否适合自建、选机、加固、装面板、建第一个入站、导入客户端、安全收尾与排障。

动手之前,两篇背景材料值得先扫一眼:各协议的取舍看 2026 年科学上网协议深度对比;还没想好要不要长期自建的,可以先看 优质机场推荐,把机场当过渡和备份都不亏。后面涉及 Nginx 与证书的部分,可对照 Nginx 反向代理与 SSL 证书配置完整教程。

先想清楚:自建适合你吗 ​

自建不是机场的全面升级版,而是另一种成本结构:你省下订阅费,付出的是运维时间。

对比项自建节点机场
线路冗余只有一台机器,挂了就是挂了多节点可切换
带宽独享,晚高峰不打架多人共享,看商家良心
支出一台 VPS 的月费,长期摊薄很便宜按月订阅,节点越多越贵
数据经手方只有你自己商家理论上能看到连接元数据
可玩性协议参数随便调商家给什么用什么
出事时自己查日志、自己修提工单等客服
IP 被封整台机器受影响换个节点继续用

适合自建的画像:有 Linux 基础、不排斥偶尔登服务器看看;需求就是一两个自用节点;打算用一年以上;或手里正好有闲置 VPS。不适合:没碰过命令行;需要十几个地区来回切换;IP 被封时没有任何备用通道;只是短期用一阵。多数老手的最终形态是折中打法——自建当主力,再留一份便宜机场订阅兜底。

部署前检查清单 ​

正式开工前,先把下面几件事确认好,免得装到一半卡住:

  • VPS 已开通,拿到了 IP、root 密码或密钥文件,能正常 SSH 登录
  • 系统是干净重装的 Debian 12 或 Ubuntu 22.04 / 24.04,没预装来历不明的软件
  • 端口规划想清楚:面板用自选冷门端口,节点主力端口用 443
  • 打算用 VMess + WS + TLS 或给面板绑域名的,提前备好一个能改 DNS 解析的域名
  • 本地先装好一个客户端(如 v2rayN 或 Clash Verge Rev),节点建好立刻能测
  • 记下 VPS 商家的控制台入口,SSH 把自己锁门外时还能靠它救回来

选机与系统准备 ​

机器怎么挑 ​

自用节点对配置要求不高,1 核 1G 内存起步足够,真正决定体验的是线路和机房位置:离你近的机房延迟低;普通国际出口晚高峰容易拥堵,带优化回程线路的机器贵一些但稳。练手选年付低价机即可;长期主力优先口碑稳定的商家,迁移节点不难,但没人想频繁折腾。各档位机器的对比和避坑点,站内有 2026 VPS 选购终极指南 展开讲,这里不重复。

供应商大致分三档:免费档有 Oracle Cloud 的免费 ARM 实例(开通看运气);低价档以 RackNerd 这类年付小鸡为代表,适合先练一遍全流程;稳定档是 Hetzner、Vultr、DigitalOcean、搬瓦工这一类,月费几到十几美元,按小时计费的还能随时删机重开、顺带换 IP。

系统选 Debian 12 或 Ubuntu LTS ​

理由很实际:官方的测试和文档主要围着这两个发行版转,出问题能搜到的答案也最多;新内核对 Reality 依赖的 TLS 特性支持完整。CentOS 7 已停止维护,直接排除;RHEL 系不是不能用,但可参考的资料明显少一截,新手没必要给自己加难度。

登录服务器 ​

bash
# 密钥登录(推荐)
ssh -i ~/.ssh/your_key root@your_vps_ip

# 密码登录
ssh root@your_vps_ip

先加固,再装面板 ​

新开的 VPS 暴露在公网上,扫描和爆破几分钟内就会找上门。所以顺序不要反:先做完这一节,再装任何服务。

更新系统并建普通用户 ​

bash
apt update && apt upgrade -y

# 新建日常用户并授予 sudo
adduser admin
usermod -aG sudo admin

SSH 改密钥登录 ​

bash
# 本地生成密钥(已有可跳过)
ssh-keygen -t ed25519

# 把公钥送上服务器
ssh-copy-id -i ~/.ssh/id_ed25519.pub admin@your_vps_ip

确认用新用户加密钥能正常登录后,再编辑 /etc/ssh/sshd_config 收紧配置:

PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes

然后重启 SSH 服务。注意 Debian / Ubuntu 上服务名是 ssh,不是 RHEL 系的 sshd:

bash
sudo systemctl restart ssh

这里有个高频翻车点:改配置之前务必确认密钥登录已经跑通,并保持当前会话不要断开,新开一个窗口验证成功再关旧窗口。把自己锁在门外只能去商家控制台重置,得不偿失。

防火墙只开必要的口 ​

bash
sudo apt install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp      # SSH
sudo ufw allow 2053/tcp    # 面板(下一步会改成自选端口,届时同步调整)
sudo ufw allow 443/tcp     # 节点主力端口
sudo ufw allow 443/udp     # Hysteria2 等 UDP 协议用
sudo ufw enable
sudo ufw status

原则是入站默认全关,用到哪个开哪个,每新建一个不同端口的入站都要回来补一条放行规则——节点连不上的故障,一多半出在这里。

安装 3X-UI ​

先补一句背景:3X-UI 由开发者 MHSanaei 维护,是老牌面板 X-UI 的延续分支,原 X-UI 已基本停更,新装直接选 3X-UI。它在 Xray-core 之上套了 Web 管理界面,主流协议与 Reality、WebSocket、gRPC 等传输方式都能管,还带多用户配额、到期控制、订阅生成和流量统计。

方式一:一键脚本(新手选这个) ​

脚本跑的过程中会让你设定面板的用户名、密码和访问端口。用户名别用 admin,端口别用默认的 2053,现场想一个冷门的。装完终端会打印访问地址和凭据,当场存进密码管理器,关掉窗口可就没地方找了。官方安装脚本地址见下一段代码块。

bash
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

方式二:Docker(适合会 Docker 的人) ​

bash
curl -fsSL https://get.docker.com | sh

镜像用官方发布的 ghcr.io/mhsanaei/3x-ui。早年教程里常见的某个 Docker Hub 社区镜像早已停更,不要再照着老文章拉。写一个 docker-compose.yml:

yaml
services:
  3x-ui:
    image: ghcr.io/mhsanaei/3x-ui:latest
    container_name: 3x-ui
    restart: unless-stopped
    volumes:
      - ./3x-ui:/etc/3x-ui
      - ./cert:/etc/cert
    ports:
      - "2053:2053"     # 面板端口,按你实际设置改
      - "443:443"       # TCP 节点端口
      - "443:443/udp"   # UDP 节点端口
    environment:
      - TZ=Asia/Shanghai

新版 Compose 已经不需要写 version 字段,老教程里的那行留着只会换来一条警告,可以删掉。启动与日常维护:

bash
docker compose up -d          # 启动
docker compose logs -f 3x-ui  # 看日志
docker compose pull && docker compose up -d   # 升级

Docker 路线的好处在迁移:数据都在挂载出来的目录里,换机器时把目录打包带走、重新拉起容器即可。

第一次登录 ​

浏览器打开 http://你的IP:面板端口。注意默认是 HTTP 明文、还没有证书,所以首次登录只在可信网络下完成,紧接着做下一节的加固——改路径、改端口、绑域名上证书,之后再日常使用。

面板安全加固清单 ​

这一节是把面板从"能用的默认值"变成"可以长期挂公网的状态",逐项对照着做:

  • 登录用户名不用 admin,密码用密码管理器生成的长随机串
  • 面板端口从 2053 换成冷门端口,并同步修改 UFW 放行规则、删掉旧端口
  • 面板访问路径从根路径改成一段随机字符串,地址形如 https://IP:端口/随机路径/
  • 给面板绑域名并申请 Let's Encrypt 证书,开启 HTTPS 后再日常登录
  • 面板设置里打开自动续期,避免证书过期某天突然登不上
  • SSH 已是密钥登录且禁用了密码与 root 直登(上一节完成)
  • 系统防火墙只放行在用的端口,装完节点后回头清掉调试时开的口
  • 养成备份习惯:面板数据库文件在 /etc/3x-ui/(Docker 则在挂载目录),定期拷一份到本地

改端口和路径后,在面板设置页底部点重启面板,用新地址重新登录;旧地址失效是正常现象。证书方面,域名先在 DNS 里加 A 记录指向 VPS,再在面板设置中填域名、选 Let's Encrypt 申请即可;已有证书文件的也可直接指定证书与私钥路径挂载。

加第一个入站:VLESS + Reality ​

面板就绪,开始建节点。第一个入站直接上主力方案——VLESS + Reality。它是 Xray 在 2023 年推出的伪装思路,和传统 TLS 套壳的区别在于:它不拿你自己的域名和证书做伪装,而是借用一个真实大站的 TLS 握手特征;有人主动探测你的服务器,看到的回应来自那个真实网站,本机不留可供比对的证书指纹。省掉域名和证书维护的同时,抗探测能力反而更好。协议本身的横向对比可回看 协议深度对比。

伪装目标怎么选 ​

Reality 需要指定一个目标站点(dest),挑选标准就四条:支持 TLS 1.3 且开启了 HTTP/2;在境外;长期稳定在线;不要选全球流量最大的那几个门户,特征太扎眼。用之前可以拿 TLS 1.3 检测工具 验一下是否达标,微软官网和它的登录门户域名是社区用得较多的两类目标。

面板操作 ​

入站列表 → 添加入站,按下表填:

字段填法备注
备注如 VLESS-Reality-US自己能认出来就行
协议vless
监听 IP留空或 0.0.0.0监听全部网卡
端口443
传输 / 安全reality新版面板在安全选项里选
Flowxtls-rprx-vision客户端要保持一致
destwww.microsoft.com:443换成你选定的目标
SNIwww.microsoft.com与 dest 的域名一致
密钥对点生成公钥要发给客户端用
Short ID点生成随机短串即可
客户端 UUID点生成每个用户一个

保存后别忘了确认:UFW 放行了 443/tcp(前面已开)。回到入站列表,这个节点右侧的操作菜单里有二维码和复制链接,分享链接长这样:

vless://uuid@服务器IP:443?encryption=none&flow=xtls-rprx-vision&security=reality&sni=www.microsoft.com&fp=chrome&pbk=公钥&sid=短ID&type=tcp#VLESS-Reality-US

连上之后随便打开一个显示 IP 的网站,确认出口已经变成 VPS 的 IP,就算通了。各客户端的详细导入姿势在下一节统一说。

再补两个入站:备用与加速 ​

主力有了,再按需求补两个角色不同的入站,它们和 Reality 不是替代关系,而是分工。

VMess + WebSocket + TLS:为套 CDN 而生 ​

这条老牌组合最大的价值是能藏到 Cloudflare CDN 后面:流量先到 CDN 再回源到 VPS,就算真实 IP 哪天被封,节点也不至于当场报废。代价是多绕一跳、延迟增加几十毫秒,所以定位是备用通道。

建入站时协议选 vmess、传输选 ws、TLS 打开,路径(path)设一段随机字符串,Host 填你解析到 VPS 的域名。想套 CDN 的话,把域名 DNS 托管到 Cloudflare、A 记录打开橙色云朵代理,SSL/TLS 加密模式设为 Full 或 Full (Strict),客户端里服务器地址写域名。

Hysteria2:弱网和大流量场景 ​

Hysteria2 跑在 QUIC 之上、用 UDP 承载,在丢包率高的网络里比 TCP 稳得多,带宽也更容易跑满,适合下载、拉流这类大流量场景;短板是 UDP 特征相对明显,被运营商压制时会变慢,定位是按需启用的加速通道。建入站选 hysteria2,端口用 443 的 UDP(确认 443/udp 已放行),密码自动生成,TLS 用面板为你的域名申请的证书。客户端侧有个特有参数:上下行带宽声明,按本地宽带实际数值略往低填,虚报并不会让网速变快,只会干扰拥塞控制。

Trojan:一句带过 ​

Trojan 把流量直接扮成普通 HTTPS,结构简单、性能不错,但在 Reality 出现之后优先级已经靠后:它不支持 CDN 中转,伪装强度也不占优势。除非某个特定客户端只认 Trojan,否则新建节点没必要选它。

客户端导入与订阅 ​

分享链接与二维码 ​

每个入站都能单独导出分享链接或二维码:手机端扫码最省事,桌面端复制链接后在客户端里选"从剪贴板导入"。这一步各家客户端的菜单位置大同小异,站内有逐个拆解的教程:

客户端教程
Clash Verge RevClash Verge Rev 使用教程
Clash NyanpasuClash Nyanpasu 使用教程
v2rayNv2rayN 使用教程
ShadowrocketShadowrocket 使用教程
FlClashFlClash 使用教程
NekoBoxNekoBox 使用教程

更完整的客户端横向说明见 全平台科学上网客户端配置终极指南。

用订阅统一管理 ​

节点一多,逐条导入就烦了。3X-UI 自带订阅服务:在面板设置里开启订阅功能,设好订阅端口与路径(同样建议改掉默认值),有证书就打开订阅的 TLS,保存重启。之后能拿到一条订阅地址,形如 https://域名:订阅端口/子路径/sub/用户标识,填进客户端的订阅页面即可一次拉取全部节点,增删入站后在客户端点一下更新就行。分发给家人朋友时每人单独建一个客户端账号,订阅互不影响,你也能单独停用某个人。

多用户与流量管理 ​

自建不等于只能自己用。3X-UI 里"客户端"就是账号的概念:在某个入站的编辑页里添加客户端,每人分配独立的 UUID(或对应协议的密码),并可单独设置三样东西——流量上限(跑满自动停)、到期时间(过期自动停)和备注名(认人用)。建议备注直接写使用者的名字加用途,日后查流量一眼就知道是谁。

流量数据在两个地方看:面板首页有整机维度的上下行汇总和实时曲线;入站列表里能下钻到每个客户端的已用流量。这也是排查"网怎么突然变慢"的第一手材料——某台设备半夜跑出异常流量,多半是系统更新或云同步;对不上数就先停用该客户端再慢慢查。每月或换套餐时可以在编辑页手动重置某个人的流量计数;面板目前没有批量操作,人数多了只能逐个处理,算是一个小短板。

IP 被封之后的后手 ​

把最坏情况提前想好:某天直连突然全断,大概率是 IP 被盯上了。你的牌有三张。第一张是前面建好的 VMess + WS + TLS 入站——早早套好 CDN 的话,这时切过去继续用,真实 IP 封不封都不影响入口。第二张是换 IP:有些商家控制台里就能更换,有些需要删机重开(按小时计费的最方便),重开后把面板数据目录迁过去即可。第三张是过渡:先用一份 2026 优质机场推荐 里的订阅顶几天,别让工作和生活断档。

套了 CDN 还想再快一点,可以给客户端到 CDN 这一段做优选:开源工具 CloudflareSpeedTest 能批量测出你本地访问最快的 Cloudflare IP(去它的 Releases 页下对应系统版本,不要记死某个版本号),把测得的 IP 填进客户端的服务器地址、域名保留在 Host/SNI 里即可。优选只优化第一段路程,CDN 到你 VPS 的回源质量不在它管辖范围内。

故障排查表 ​

按"先看面板在不在、再看入站通不通、最后看速度"的顺序往下查,多数问题都能对上号:

现象先查什么处理
面板打不开、连接超时防火墙是否放行面板端口;面板服务是否在跑补 ufw allow 面板端口/tcp;SSH 进服务器用面板管理脚本查看状态
面板报 404访问路径记错了路径是加固时改的那段随机串,地址要带全
登录凭据忘了—SSH 登录后运行面板管理脚本重置用户名密码
证书报错登不上证书过期或域名解析变了先用 IP 加路径应急登录,再续签或重签证书
全部节点超时节点端口未放行;VPS 本身宕机或 IP 已被封逐项验证端口放行;用商家控制台确认机器状态;切 CDN 入站判断是不是 IP 问题
Reality 连不上dest 不支持 TLS 1.3;SNI 与 dest 对不上;客户端 flow 不一致换一个达标目标站;SNI 严格等于 dest 域名;flow 两边都设 xtls-rprx-vision
VMess 套 CDN 失败Cloudflare 加密模式不对;WS 路径两边不一致加密模式改 Full / Full (Strict);核对 path 是否完全相同
Hysteria2 连不上UDP 端口没放行;运营商压制 UDP放行 ufw allow 端口/udp;换端口再试,仍不行就回落到 TCP 方案
订阅拉取失败订阅服务未开启;订阅端口未放行面板设置里确认开关;放行订阅端口;检查链接里的路径段
速度明显变慢线路晚高峰拥堵;VPS 资源跑满换时段对比测速;看面板流量曲线判断是否有人跑大流量;考虑 CDN 中转或换机房
频繁断线内存不足导致进程被杀;客户端版本过旧升级配置或减少同机服务;更新客户端并重导配置

升级与备份 ​

脚本安装的用内置命令更新,Docker 安装的拉新镜像重建即可;两种方式在升级前都先备份一次数据库,万一新版本出问题还能退回去:

bash
# 一键脚本安装
3x-ui update

# 手动备份数据库(脚本安装的默认路径)
cp /etc/3x-ui/3x-ui.db /root/3x-ui.db.bak

Docker 用户的数据在挂载目录里,整目录打包拷走就是完整备份。版本上不必追新:面板与 Xray-core 的版本号、发布时间一律以官方仓库当前发布为准,新版稳定几天再跟。

常见问题 ​

3X-UI 和 X-UI 选哪个? X-UI 是原版、已停止维护;3X-UI 是社区延续的分支,补上了 Reality、Hysteria2、TUIC 等新协议和更好的订阅与安全设置。新装没有理由选回老版本。

Reality 的目标站可以随便填吗? 不行。对方站点必须支持 TLS 1.3 和 HTTP/2,而且 SNI 要和 dest 域名严格一致;填一个不达标的站点,表现就是握手失败、怎么都连不上。用命令行 curl -v 打开目标站,看返回里是否协商到 TLS 1.3,是最快的自检办法。

一台小鸡能带几个人? 面板和 Xray 占用很低,1 核 1G 供十来个人日常浏览毫无压力;瓶颈是带宽和流量包,重度看 4K 的人数要按流量总额倒推。

多个协议能共用 443 吗? TCP 和 UDP 互不冲突,Hysteria2 的 UDP 443 与 Reality 的 TCP 443 可以并存;两个 TCP 协议想同端口则要靠入站回落(fallback)分流,配置更复杂,自用场景没必要折腾,分开端口最省心。

证书一定要买吗? 不用。面板支持通过 Let's Encrypt 免费申请并自动续期,你只需要一个能改解析的域名;实在没有域名,就只用 Reality 入站,它根本不需要证书。

组合建议与收尾 ​

落到一套可直接照抄的配置:主力用 VLESS + Reality 走 443 直连;备用建一条 VMess + WebSocket + TLS 套好 Cloudflare CDN,IP 出事时顶上;大流量或弱网需求再开 Hysteria2。面板改端口、改路径、上证书,SSH 只认密钥,防火墙白名单式放行,数据库定期备份——这套组合胜在每一层都有退路。想再细挑机器和机场搭配的,把 VPS 选购指南、机场推荐汇总、客户端配置指南 三篇连起来读即可。


延伸阅读 ​

免责声明

本文仅供技术交流和学习参考。涉及第三方服务的链接可能包含 sponsored 标记,请自行核实服务条款、价格和可用性,并遵守当地法律法规。