1.基础环境安装
1.1.安装常用命令
apt-get update && apt-get install -y wget vim
apt install sudo curl wget
1.2.修改时区
sudo timedatectl set-timezone Asia/Shanghai #改成上海
1.3.BBR
Debian
给 Debian 10 添加官方 backports
源,获取更新的软件库
sudo nano /etc/apt/sources.list
然后把下面这一条加在最后,并保存退出。
deb http://deb.debian.org/debian buster-backports main
刷新软件库并查询 Debian 官方的最新版内核并安装。请务必安装你的 VPS 对应的版本(本文以比较常见的【amd64】为例)。
sudo apt update && sudo apt -t buster-backports install linux-image-amd64
修改 kernel
参数配置文件 sysctl.conf
并指定开启 BBR
sudo nano /etc/sysctl.conf
把下面的内容添加进去
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
重启 VPS、使内核更新和 BBR
设置都生效
sudo reboot
确认 BBR
开启
如果你想确认 BBR
是否正确开启,可以使用下面的命令:
lsmod | grep bbr
lsmod | grep fq
Ubuntu
修改系统变量:
echo net.core.default_qdisc=fq >> /etc/sysctl.conf
echo net.ipv4.tcp_congestion_control=bbr >> /etc/sysctl.conf
保存生效
sysctl -p
执行
sysctl net.ipv4.tcp_available_congestion_control
如果结果是这样
sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = bbr cubic reno
就开启了。 执行 lsmod | grep bbr
,以检测 BBR 是否开启。
1.4.SWAP
wget -O box.sh https://raw.githubusercontent.com/BlueSkyXN/SKY-BOX/main/box.sh && chmod +x box.sh && clear && ./box.sh
2.Docker & Docker-compose 安装
2.1.Docker
安装
wget -qO- get.docker.com | bash
开机启动
systemctl enable docker
卸载Docker
sudo apt-get purge docker-ce docker-ce-cli containerd.io
2.2.Docker-compose
安装
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
赋权
sudo chmod +x /usr/local/bin/docker-compose
2.3.修改Docker配置
cat > /etc/docker/daemon.json <<EOF
{
"log-driver": "json-file",
"log-opts": {
"max-size": "20m",
"max-file": "3"
},
"ipv6": true,
"fixed-cidr-v6": "fd00:dead:beef:c0::/80",
"experimental":true,
"ip6tables":true
}
EOF
2.4.重启Docker
systemctl restart docker
3.NPM安装
mkdir -p /root/data/docker_data/npm & cd /root/data/docker_data/npm
vim docker-compose.yml
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80' # 冒号左边可以改成自己服务器未被占用的端口
- '81:81' # 冒号左边可以改成自己服务器未被占用的端口
- '443:443' # 冒号左边可以改成自己服务器未被占用的端口
volumes:
- ./data:/data # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 data 文件夹中
- ./letsencrypt:/etc/letsencrypt # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 letsencrypt 文件夹中
Email: admin@example.com
Password: changeme
4.X-UI安装
下载X-UI
bash <(curl -Ls https://raw.githubusercontent.com/FranzKafkaYu/x-ui/master/install.sh)
5.安装伪装应用
mkdir -p /root/data/docker_data/alltube & cd /root/data/docker_data/alltube
vim docker-compose.yml
version: '3.3'
services:
alltube:
container_name: alltube
ports:
- '5903:80' # 5993可以改成任意vps上未使用过的端口,80不要改
environment:
- PUID=0 # 稍后在终端输入id可以查看当前用户的id
- PGID=0 # 同上
- TZ=Asia/Shanghai
restart: always
image: rudloff/alltube
docker-compose up -d
6.NPM配置
6.1.Custom locations
location ^~ /fuckgfw { #fuckgfw换成你前面设置的面板的url根路径
proxy_pass http://158.101.3.171:54331/fuckgfw; # IP填服务器IP,这边不能填127.0.0.1,因为是在容器里,54331换成你xui面板的端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
6.2.Advanced
location /plogger { # plogger填你前面设置的ws的路径
proxy_redirect off;
proxy_pass http://158.101.3.171:13997; # IP填服务器IP,这边不能填127.0.0.1,因为是在容器里,13997换成你入站规则那边的IP
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_read_timeout 300s;
# Show realip in v2ray access.log
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}