# Xray VPS 部署指南 > 一键部署 Xray 代理,支持 VLESS-Reality(抗封锁)和 VLESS TCP(极速)两种模式。无需域名和证书。 ## 功能特性 - 两种部署模式可选:Reality(推荐)/ Fast TCP - 自动安装 Xray + 生成密钥 + 配置防火墙 - BBR 拥塞控制 + TCP 深度调优 - 自动选择延迟最低的 Reality 伪装目标 - 部署完成自动输出 VLESS 分享链接 - 一键备份 / 卸载脚本 ## 模式对比 | 特性 | Reality(推荐) | Fast TCP | |------|-----------------|----------| | **加密** | Reality TLS 1.3 | 无,明文传输 | | **抗检测** | 伪装为真实 HTTPS 流量 | 极易被 DPI 识别 | | **需要域名** | 否 | 否 | | **需要证书** | 否 | 否 | | **速度** | Vision 流控避免双重加密,差距 < 5% | 裸 TCP 无开销,理论最快 | | **被封风险** | 极低 | 极高 | ## 技术栈 | 组件 | 说明 | |------|------| | Xray | VLESS 代理核心 | | BBR | TCP 拥塞控制算法 | | ufw / firewalld | 防火墙 | ## 前置条件 1. 一台境外 Linux VPS(Debian 12 推荐) 2. root 权限 3. 服务器 443 端口可从外网访问 ### 推荐配置 | 项目 | 最低 | 推荐 | |------|------|------| | CPU | 1 核 | 1 核 | | 内存 | 256 MB | 512 MB | | 硬盘 | 5 GB | 10 GB | | 带宽 | 200 Mbps | 1 Gbps | | 流量 | 500 GB/月 | 1 TB+/月 | | 位置 | — | 日本 / 新加坡 / 美西 | ## 目录结构 ``` vps-xray/ ├── deploy.sh # 一键部署脚本 ├── backup.sh # 备份脚本 ├── uninstall.sh # 完全卸载脚本 ├── .env.example # 配置模板 ├── README.md # 本文件 ├── vps-xray-optimized.md # Reality 方案详细文档 └── vps-xray-fast.md # Fast TCP 方案详细文档 ``` 服务器上的文件位置: ``` /usr/local/bin/xray # Xray 可执行文件 /usr/local/etc/xray/config.json # Xray 配置文件 /etc/sysctl.d/99-xray-turbo.conf # 网络调优参数 /var/backups/xray/ # 备份文件 ``` ## 快速部署 ### 第一步:上传文件到 VPS ```bash scp -r vps-xray/ root@:/opt/vps-xray ``` ### 第二步:登录 VPS 执行部署 ```bash ssh root@ cd /opt/vps-xray # Reality 模式部署(推荐) bash deploy.sh # 或者 Fast TCP 模式 bash deploy.sh --mode fast ``` 部署完成后会输出: - 连接参数(IP、端口、UUID、密钥等) - VLESS 分享链接(可直接导入客户端) > **⚠️ 请妥善保存输出的连接信息!密钥仅显示一次。**凭据同时保存在 `/opt/vps-xray/.env` 中。 ### 第三步:客户端配置 将部署脚本输出的 `vless://` 链接导入客户端即可: | 平台 | 推荐客户端 | |------|-----------| | Windows | v2rayN(6.x+) | | macOS | V2BOX / NekoRay | | iOS | Shadowrocket / Streisand | | Android | v2rayNG | 详细的 Clash Meta / Sing-Box 配置参见 [vps-xray-optimized.md](vps-xray-optimized.md)。 ## 日常运维 ### 查看状态 / 日志 ```bash systemctl status xray journalctl -u xray -f journalctl -u xray --tail 100 ``` ### 备份 ```bash cd /opt/vps-xray bash backup.sh ``` 备份内容包括: - Xray 配置文件(`config.json`) - 部署配置(`.env` + 脚本) - 网络调优参数 备份文件保存在 `/var/backups/xray/`,自动清理 30 天前的旧备份。 ### 恢复备份 ```bash # 查看可用备份 ls /var/backups/xray/ # 恢复 Xray 配置 tar xzf /var/backups/xray/xray_config_<日期>.tar.gz -C /usr/local/etc/ # 恢复网络调优 cp /var/backups/xray/sysctl_<日期>.conf /etc/sysctl.d/99-xray-turbo.conf sysctl --system # 重启服务 systemctl restart xray ``` ### 更新 Xray ```bash # 备份当前配置 cd /opt/vps-xray && bash backup.sh # 更新 Xray 核心(配置文件保留) bash <(curl -fsSL https://raw.githubusercontent.com/XTLS/Xray-install/main/install-release.sh) # 重启服务 systemctl restart xray ``` ### 重启 / 停止 ```bash systemctl restart xray # 重启 systemctl stop xray # 停止 systemctl start xray # 启动 ``` ### 验证 ```bash # 确认 BBR 启用 sysctl net.ipv4.tcp_congestion_control # 确认端口监听 ss -tlnp | grep 443 # 测试配置语法 /usr/local/bin/xray run -test -config /usr/local/etc/xray/config.json ``` ## 完全卸载 ```bash cd /opt/vps-xray bash uninstall.sh ``` 脚本会**交互式确认**每个危险操作: | 步骤 | 操作 | 确认方式 | |------|------|----------| | 0 | 卸载前备份(可选) | y/N | | 1 | 停止并禁用 Xray 服务 | 输入 YES | | 2 | 卸载 Xray 程序 + 删除配置 | 自动 | | 3 | 移除网络调优配置 | 自动 | | 4 | 关闭防火墙端口 | 自动 | | 5 | 删除部署目录 `/opt/vps-xray` | y/N | **备份目录 `/var/backups/xray/` 始终保留**。 ## 多用户 在 Xray 配置的 `clients` 数组中添加更多用户: ```bash vi /usr/local/etc/xray/config.json ``` ```json "clients": [ { "id": "原始-uuid", "flow": "xtls-rprx-vision" }, { "id": "新用户-uuid", "flow": "xtls-rprx-vision" } ] ``` 生成新 UUID:`cat /proc/sys/kernel/random/uuid` 修改后重启:`systemctl restart xray` ## 故障排查 ### 客户端连接失败 ```bash # 确认 Xray 运行 systemctl status xray # 确认端口监听 ss -tlnp | grep 443 # 查看错误日志 journalctl -u xray --tail 50 ``` ### 速度慢 ```bash # 确认 BBR 启用 sysctl net.ipv4.tcp_congestion_control # 应输出: net.ipv4.tcp_congestion_control = bbr # 确认网络调优生效 sysctl net.core.rmem_max # 应输出: net.core.rmem_max = 16777216 ``` ### IP 被封 Reality 能大幅降低被封概率,但如果 IP 已被墙: 1. 更换 VPS IP 2. 重新部署:`bash deploy.sh` ## 安全说明 - `PrivateKey` 只存在服务端配置中,切勿泄露 - `PublicKey` 是客户端参数,可公开 - `.env` 文件权限已设为 600(仅 root 可读) - BT 流量已在路由规则中屏蔽,降低 VPS 被投诉风险