前言
由于工作环境的需要,我们通常需要一些魔法代理。过去使用xui来搭建面板,但是作者很久没更新了。如今出现了很多变种版本,这里我使用的是伊朗开发的3xui。这里记录下我的搭建过程。
准备工作
- vps一台,新手请重置好主流的操作系统(CentOS / Debian / Ubuntu)
- 域名一个,并解析到你的vps。
搭建面板
安装docker,docker-compose
我是采用docker容器搭建,这样就可以不干扰其他的服务。我的系统是Debain9,所以我根据官网的Debian9安装教程安装。其他的操作系统请在我提供的链接跳转后,在左侧选择你的系统版本。
- 设置仓库
# Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL <https://download.docker.com/linux/debian/gpg> -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Add the repository to Apt sources: echo \\ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] <https://download.docker.com/linux/debian> \\ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \\ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update
- 安装
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- 验证
sudo docker run hello-world # 该命令下载一个测试映像并在容器中运行它。当容器运行时,它打印一条确认消息并退出。
安装面板
执行如下的命令
# 创建并进入到文件夹中
mkdir x-ui && cd x-ui
创建配置文件vim docker-compose.yml
,并写入下面的内容。
version: "3.9"
services:
xui:
image: ghcr.io/mhsanaei/3x-ui:latest
container_name: xui
volumes:
- $PWD/db/:/etc/x-ui/
- $PWD/cert/:/root/cert/
environment:
- XRAY_VMESS_AEAD_FORCED=false
restart: unless-stopped
network_mode: host
然后执行如下命令
# 启动容器
docker compose up -d
# 停止并删除容器
docker compose down
# 更新容器的镜像
docker pull ghcr.io/mhsanaei/3x-ui:latest
启动成功之后,可以用你的vps中的ip:54321访问,就可以看到面板页面了。
域名配置(ssl开启)
- 假设你的 x-ui 端口是
54321
- 假设你的 IP 是
10.10.10.10
- 假设你的域名是
xui.example.com
,且已经做好 A 记录解析 - 假设你使用的是 Debian 10+或者 Ubuntu 18+的系统
- 假设你的邮箱是
[email protected]
- 安装必要软件
sudo apt update
sudo apt install snapd nginx
sudo snap install core
sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
-
新建一个配置文件
touch /etc/nginx/conf.d/xui.conf
增加以下配置,按照实际情况调整
server { listen 80; listen [::]:80; server_name xui.example.com; location / { proxy_redirect off; proxy_pass <http://127.0.0.1:54321>; proxy_http_version 1.1; proxy_set_header Host $host; } # 反代websocket location /xray { proxy_redirect off; proxy_pass <http://127.0.0.1:10001>; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Y-Real-IP $realip_remote_addr; } }
-
检查配置文件
nginx -t
-
申请证书,按照提示设置
certbot --nginx --agree-tos --no-eff-email --email [email protected]
更多细节可以参考 cerbot
-
刷新Nginx配置
ngins -s reload
-
配置定时任务
sudo certbot renew --dry-run
之后在面板里面配置证书位置,将证书就可以用域名:端口的形式访问。
开启BBR加速
执行下面的脚本命令
wget -N --no-check-certificate "<https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh>" && chmod +x tcp.sh && ./tcp.sh
选择安装你喜欢的内核,并开启减速管理。注意锐速内核是降级,BBR魔改是升级,所以不要混着安装这2个。
评论区