V2Board是一款可用来搭建机场节点的开源工具。
Docker部署V2Board 部署教程
注:以容器方式部署,需要机器配置较高,尤其是内存应足够(Akile-TW,1C1G的配置直接卡住)。
一、前期准备 先准备好Docker环境,安装Docker和Docker-Compose。
可以为Docker-compose创建一个快捷键:dc => docker-compose
1 2 3 chmod a+x /usr/local/bin/docker-composerm -rf `which dc`ln -s /usr/local/bin/docker-compose /usr/bin/dc
二、安装V2B
拉取V2Board,并配置版本:
1 2 3 4 5 6 7 git clone https://github.com/v2board/v2board-docker.git v2b cd v2b git submodule update --init echo ' branch = master' >> .gitmodules git submodule update --remote
修改docker-compose.yaml
如果数据库不在本地
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 version: '3' services: www: image: tokumeikoi/lcrp volumes: - './www:/www' - './wwwlogs:/wwwlogs' - './caddy.conf:/run/caddy/caddy.conf' - './supervisord.conf:/run/supervisor/supervisord.conf' - './crontabs.conf:/etc/crontabs/root' - './.caddy:/root/.caddy' ports: - '80:80' - '443:443' restart: always
如果数据库在本地
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 version: '3' services: www: image: tokumeikoi/lcrp volumes: - './www:/www' - './wwwlogs:/wwwlogs' - './caddy.conf:/run/caddy/caddy.conf' - './supervisord.conf:/run/supervisor/supervisord.conf' - './crontabs.conf:/etc/crontabs/root' - './.caddy:/root/.caddy' ports: - '80:80' - '443:443' restart: always links: - mysql mysql: image: mysql:5.7.29 volumes: - './mysql:/var/lib/mysql' restart: always environment: MYSQL_ROOT_PASSWORD: 请修改密码 MYSQL_DATABASE: v2b
修改caddy.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 http://yourdomain { root /www/public fastcgi / /tmp/php-cgi.sock php rewrite { to {path} {path}/ /index.php?{query} } } https://yourdomain { tls 你的CF邮箱 root /www/public log /wwwlogs/caddy.log fastcgi / /tmp/php-cgi.sock php rewrite { to {path} {path}/ /index.php?{query} } }
注:如果需要用反代的方式处理订阅链接,那么反代的网址也要填进去。
安装
1 2 3 4 5 6 7 8 9 10 11 dc up -d dc exec www bash wget https://getcomposer.org/download/1.9.0/composer.phar php composer.phar global require hirak/prestissimo php -d memory_limit=-1 composer.phar install php artisan v2board:install
如果数据库在本地,则配置如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 __ ______ ____ _ \ \ / /___ \| __ ) ___ __ _ _ __ __| | \ \ / / __) | _ \ / _ \ / _` | '__/ _` | \ V / / __/| |_) | (_) | (_| | | | (_| | \_/ |_____|____/ \___/ \__,_|_| \__,_| 请输入数据库地址(默认:localhost) [localhost]: > mysql 请输入数据库名: > v2board 请输入数据库用户名: > root 请输入数据库密码: > v2boardisbest 正在导入数据库请稍等... 数据库导入完成 请输入管理员邮箱?: > test@test.com 请输入管理员密码?: > 12345678 一切就绪 访问 http(s)://你的站点/admin 进入管理面板
如果数据库在无程,则填写远程地址。建议远程数据库设置防火墙。
启动horizon
1 2 dc exec www bash php artisan horizon &
升级
1 2 3 dc exec www bash sh update.sh php artisan horizon &
清除高磁盘占用的日志文件
当V2Board运行一段时间,会发现磁盘可用率变低了。大概率是因为laravel的日志文件造成的。 处理方法如下:
1 2 3 dc exec www bash cd storage/logs
websocks config:
1 2 3 4 5 6 { "path" : "/v2rayvmws" , "headers" : { "Host" : "v2ray.com" } }
gRPC config:
1 2 3 { "serviceName" : "gRPCService" }
hysteria2后端接口 https://github.com/Vincent-Ksr/hysteria-guapi
1 2 3 4 cd /etcmkdir hysteriagit clone https://github.com/Vincent-Ksr/hysteria2-v2b.git hysteria cd /etc/hysteria
aaPanel面板部署V2Board V2Board的部署官方给的教程以国际版的宝塔面板为载体进行配置,部署教程 。
1 2 3 4 5 yum install -y wget && wget -O install.sh http://www.aapanel.com/script/install_6.0_en.sh && bash install.sh curl -sS -O https://raw.githubusercontent.com/kejilion/sh/main/kejilion.sh && chmod +x kejilion.sh && ./kejilion.sh
安装完成aaPanel之后,登录宝塔管理面板并安装以下环境(选择Fast安装):
Nginx 1.17 MySQL 5.6 PHP 7.4
安装Redis、fileinfo:
aaPanel => App Store => PHP 7.4 : Setting => Install extensions => redis, fileinfo
解除被禁止的函数:
aaPanel => App Store => PHP 7.4 : Setting => Disabled functions putenv,proc_open,pcntl_alarm,pcntl_singal
添加站点:
aaPanel => Website => Add site: - Domain: 填写指向服务器IP的域名 - Databasse: MySQL - PHP Version: PHP-74
注:添加完站点之后,弹出数据库名称、用户名和密码,应保存下来,后面安装V2Board时需要用到。
安装V2Board:
SSH登录到服务器,切换到站点路径:/www/wwwroot/站点域名
删除默认生成的站点目录文件:
1 2 chattr -i .user.ini rm -rf .htaccess 404.html index.html .user.ini
拉取V2Board代码:
1 2 3 4 5 git clone https://github.com/v2board/v2board.git ./ sh init.sh
配置站点目录及伪静态
aaPanel中找到添加的站点,进行配置:
Site directory => Running directory : /public URL rewrite:
1 2 3 4 5 6 7 8 9 10 11 12 13 location /downloads { } location / { try_files $uri $uri/ /index.php$is_args$query_string; } location ~ .*\.(js|css)?$ { expires 1 h; error_log off; access_log /dev/null ; }
配置定时任务: aaPanel => Cron: - Type of Task: Shell Script - Name of Task: v2board - Period : N Minutes 1 Minute - Script content: php /www/wwwroot/<path2domain>/artisan schedule:run
启动队列服务:
V2Board的系统强信赖队列服务,正常使用V2Board必须启动队列服务。 下面以aaPanel中supervisor服务来守护队列服务作为演示:
aaPanel => App Store => Tools
找到Supervisor,安装,然后进行设置:
- Name: V2board
- Run User: www
- Run Dir: 选择站点目录
- Start Command: `php artisan horizon`
- Processes: 1
按以上配置进行设置后,确认保存配置,不出意外的话V2Board就可以运行了。
XRayR的默认配置文件路径为: /etc/XRayR/config.yml