vps部署优化
This commit is contained in:
+68
-4
@@ -53,14 +53,19 @@
|
||||
vps-xray/
|
||||
├── deploy.sh # 一键部署脚本
|
||||
├── uninstall.sh # 完全卸载脚本
|
||||
├── backup.sh # 备份脚本
|
||||
├── upload.sh # 上传脚本(仅上传服务端必要文件)
|
||||
├── .env.example # 配置模板
|
||||
├── README.md # 本文件
|
||||
├── vps-xray-optimized.md # Reality 方案详细文档
|
||||
├── vps-xray-fast.md # Fast TCP 方案详细文档
|
||||
└── client-config/ # 客户端配置示例(本地使用,不上传服务器)
|
||||
└── client-config/ # 客户端配置(本地使用,不上传服务器)
|
||||
├── gen-clash.sh # 由节点信息生成 Clash.Meta 配置
|
||||
└── client-macos.md # macOS 客户端指南(模板,可提交)
|
||||
```
|
||||
|
||||
> `client-config/` 下含真实 UUID / 服务器 IP 的节点配置(`*-info*.md`、`*.yaml`)已在根 `.gitignore` 中排除,不要提交到版本库。
|
||||
|
||||
服务器上的文件位置:
|
||||
|
||||
```
|
||||
@@ -98,7 +103,15 @@ bash deploy.sh --mode fast
|
||||
- 连接参数(IP、端口、UUID、密钥等)
|
||||
- VLESS 分享链接(可直接导入客户端)
|
||||
|
||||
> **⚠️ 请妥善保存输出的连接信息!密钥仅显示一次。**凭据同时保存在 `/opt/vps-xray/.env` 中。
|
||||
凭据保存在 `/opt/vps-xray/.env`(权限 600)。**信息不会丢** —— 随时可以重新打印:
|
||||
|
||||
```bash
|
||||
cd /opt/vps-xray && bash deploy.sh --show
|
||||
```
|
||||
|
||||
`--show` 只读取 `.env` 输出连接信息和分享链接,不安装、不改配置、不重启服务。
|
||||
|
||||
> 即使 `.env` 被误删,只要 `/usr/local/etc/xray/config.json` 还在,UUID、shortId、SNI 都能从中读出,公钥可用 `xray x25519 -i <privateKey>` 从私钥反推。
|
||||
|
||||
### 第三步:客户端配置
|
||||
|
||||
@@ -111,16 +124,51 @@ bash deploy.sh --mode fast
|
||||
| iOS | Shadowrocket / Streisand |
|
||||
| Android | v2rayNG |
|
||||
|
||||
#### 生成 Clash 配置
|
||||
|
||||
把每台 VPS 的 `bash deploy.sh --show` 输出保存成 `client-config/xxx-info.md`,然后:
|
||||
|
||||
```bash
|
||||
cd client-config
|
||||
bash gen-clash.sh # 交互式勾选要写入的节点
|
||||
bash gen-clash.sh --all # 全部节点
|
||||
```
|
||||
|
||||
脚本解析文件里的 `vless://` 链接,生成 `vpn-vps-xray-optimized.yaml`(多节点自动组成 url-test 自动选择组,原文件会先备份为 `.bak`)。
|
||||
|
||||
> 生成的配置需要 **Clash.Meta / mihomo** 内核(Clash Verge Rev、ClashX Meta、FlClash 等)。原版 Clash / Clash Premium 不支持 VLESS + Reality。
|
||||
|
||||
详细的 Clash Meta / Sing-Box 配置参见 [vps-xray-optimized.md](vps-xray-optimized.md)。
|
||||
|
||||
## 日常运维
|
||||
|
||||
### 查看连接信息 / 分享链接
|
||||
|
||||
```bash
|
||||
cd /opt/vps-xray
|
||||
bash deploy.sh --show
|
||||
```
|
||||
|
||||
只读操作,不会改动任何服务。
|
||||
|
||||
### 更换 Reality 伪装目标
|
||||
|
||||
伪装目标在首次部署时按握手延迟自动挑选,之后固定写入 `.env` 不再变动。后续每次部署会检查它是否仍然可达,不可达时告警但**不会自动更换**——因为更换会改变 SNI,导致所有客户端链接静默失效。
|
||||
|
||||
确认要换时显式执行:
|
||||
|
||||
```bash
|
||||
bash deploy.sh --redetect
|
||||
```
|
||||
|
||||
> ⚠️ 换完后 SNI 变了,**所有客户端都必须用新的分享链接重新配置**。脚本会在更换时打印醒目提示。
|
||||
|
||||
### 查看状态 / 日志
|
||||
|
||||
```bash
|
||||
systemctl status xray
|
||||
journalctl -u xray -f
|
||||
journalctl -u xray --tail 100
|
||||
journalctl -u xray -n 100
|
||||
```
|
||||
|
||||
### 备份
|
||||
@@ -167,6 +215,22 @@ bash <(curl -fsSL https://raw.githubusercontent.com/XTLS/Xray-install/main/insta
|
||||
systemctl restart xray
|
||||
```
|
||||
|
||||
### 每日自动重启(默认关闭)
|
||||
|
||||
早期版本会安装一个每天 04:00 重启 Xray 的 systemd timer,现已**默认关闭**:
|
||||
|
||||
- 崩溃恢复已由 `Restart=always` + `RestartSec=3` 覆盖,响应是秒级,不必等到凌晨
|
||||
- Xray 无已知需要定期重启的缺陷(内存、句柄上限均已配置)
|
||||
- 而每日硬重启会**切断全部活动连接**,跨夜下载、备份、CI 都会中断
|
||||
|
||||
即"为假想问题付出真实代价"。部署时会自动移除旧版本遗留的 timer。
|
||||
|
||||
确有需要(例如实测到长期运行后性能退化)时在 `.env` 中开启:
|
||||
|
||||
```bash
|
||||
XRAY_DAILY_RESTART=true
|
||||
```
|
||||
|
||||
### 重启 / 停止
|
||||
|
||||
```bash
|
||||
@@ -239,7 +303,7 @@ systemctl status xray
|
||||
ss -tlnp | grep 443
|
||||
|
||||
# 查看错误日志
|
||||
journalctl -u xray --tail 50
|
||||
journalctl -u xray -n 50
|
||||
```
|
||||
|
||||
### 速度慢
|
||||
|
||||
Reference in New Issue
Block a user