Linuxword Global
当前位置: 建站相关 > 部署V2Board并对接XrayR后端

v2board是一个机场面板,xrayr是最近出来的一个后端,讲道理这个后端算很良心了,现在有很多后端都是收费的,而这个永久免费,并且完全开源。

部署v2board面板

咱用的系统是debian10,先来装v2board,建议内存至少1gb。

如果机器内存小于1gb可以尝试挂个swap上去,说不定在安装依赖的时候能够强行怼过去:

fallocate -l 1G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

安装nginx/mariadb/redis和一些需要用到的工具:

apt -y update
apt -y install curl wget git unzip nginx mariadb-server redis-server supervisor

安装php:

apt -y install php7.3-common php7.3-cli php7.3-fpm \
php7.3-gd php7.3-mysql php7.3-mbstring php7.3-curl \
php7.3-xml php7.3-xmlrpc php7.3-zip php7.3-intl \
php7.3-bz2 php7.3-bcmath php-redis

安装composer:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/bin/composer

启动所有需要用到的服务并设置开机自启:

systemctl enable --now nginx mariadb redis-server php7.3-fpm supervisor

[重要]由于之前安装了php的redis扩展,这里需要重启fpm才能生效:

systemctl restart php7.3-fpm

初始化数据库:

mysql_secure_installation

创建一个名为v2board的数据库和用户:

mysql -u root -p
CREATE DATABASE v2board CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON v2board.* TO v2board@localhost IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
quit

拉取项目源码:

cd /var/www
git clone https://github.com/v2board/v2board.git
cd v2board

安装依赖:

composer install

安装v2board:

php artisan v2board:install

按照下图来填写数据库连接信息以及设置管理员账号密码:

lala.im_2021-05-06_13-26-53

[重要]给予正确的权限:

chown -R www-data:www-data /var/www/v2board
chmod -R 755 /var/www/v2board

新建nginx站点配置文件:

nano /etc/nginx/conf.d/v2board.conf

写入如下配置:

server {
    listen      80;
    server_name v2board.ohshit.club;
    root        /var/www/v2board/public;
    index       index.php;
    client_max_body_size 0;

    location /downloads {
    }

    location / {
        try_files $uri $uri/ /index.php$is_args$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
    }
}

由于v2board的前端资源文件比较大,务必启用gzip进行压缩,不然访问的时候可能很慢:

nano /etc/nginx/nginx.conf

去掉下面这些配置的注释:

gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

重载nginx使其生效:

systemctl reload nginx

安装certbot:

apt -y update
apt -y install snapd
snap install core
snap refresh core
snap install --classic certbot
ln -s /snap/bin/certbot /usr/bin/certbot

使用certbot签发ssl证书:

certbot --nginx

添加计划任务:

crontab -e

写入如下配置:

* * * * * php /var/www/v2board/artisan schedule:run >> /dev/null 2>&1

新建supervisor配置文件用于守护v2board的队列任务:

nano /etc/supervisor/conf.d/v2board.conf

写入如下配置:

[program:v2board]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/v2board/artisan queue:work --queue=send_email,send_telegram,stat_server
numprocs=4
user=www-data
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/var/www/v2board/storage/logs/queue.log

启动v2board的队列任务:

supervisorctl update

查看队列任务状态:

supervisorctl status

确保全部都是运行状态:

v2board:v2board_00               RUNNING   pid 18665, uptime 7:53:33
v2board:v2board_01               RUNNING   pid 18664, uptime 7:53:33
v2board:v2board_02               RUNNING   pid 18667, uptime 7:53:33
v2board:v2board_03               RUNNING   pid 18666, uptime 7:53:33

至此,v2board面板就搭建完成了,访问你的域名应该能够打开v2board的首页,在域名后面加上/admin即可访问后台管理面板。

对接XrayR后端节点

这里先介绍比较常用的对接方法,既使用xrayr内置的tls设置。后续单独水一篇把tls交给nginx处理的文章。

xrayr内置的证书申请支持很多方法,这里我使用dns的方式,因为这个方法不需要用到80端口,如果在和v2board面板同一台机器上部署xrayr后端的话,80端口肯定是被nginx占用了的,这会导致证书申请失败。

这里我使用的dns服务商是cloudflare,假设你和我使用同一个dns服务商,你有一个node1.ohshit.club的域名。

你现在需要在cloudflare创建一个api,创建步骤可以参考:

接着打开v2board面板,在“系统设置-站点”,填写好站点url和订阅url:

lala.im_2021-05-06_22-39-49-1024x403-1

[重要]在“服务端”填写通讯密钥,这将是v2board和xrayr后端对接的凭据:

lala.im_2021-05-06_22-41-59-1024x378-1

在“权限组管理”添加一个权限组:

lala.im_2021-05-06_22-45-51-1024x228-1

在“节点管理”添加一个v2ray节点,为了避免机器被墙,这里建议添加websocket节点,并且启用tls:

lala.im_2021-05-06_22-51-33

关于节点添加这里有几个需要注意的事项:

1.端口是在v2board面板上指定,你指定什么端口xrayr就以什么端口监听。比如我在v2board上配置8443端口,那么xrayr就会监听8443端口。

2.没有特殊情况,连接端口和服务端口一律保持一致。(特殊情况的配置另外开一篇文章详细说明)

3.websocket节点,务必添加path:

{
  "path": "/sometimesnaive"
}

如图所示:

lala.im_2021-05-06_22-56-52

现在下载解压xrayr后端:

mkdir /opt/xrayr && cd /opt/xrayr
wget https://github.com/XrayR-project/XrayR/releases/download/v0.5.0/XrayR-linux-64.zip

编辑xrayr配置文件:

nano config.yml

改为如下配置,需要改动的重要部分都写了注释:

Log:
  Level: debug
  AccessPath: ./access.log
  ErrorPath: ./error.log
DnsConfigPath: ./dns.json
Nodes:
  -
    PanelType: "V2board" // 面板类型
    ApiConfig:
      ApiHost: "https://v2board.ohshit.club/" // v2board面板的地址,域名结尾一定要加/
      ApiKey: "imlalaimlalaimlala" // v2board面板内配置的通讯密钥
      NodeID: 1 // v2board面板内对应节点的id
      NodeType: V2ray // 节点类型
      Timeout: 30
      EnableVless: false
      EnableXTLS: false
    ControllerConfig:
      ListenIP: 0.0.0.0
      UpdatePeriodic: 60
      EnableDNS: false
      CertConfig:
        CertMode: dns
        CertDomain: "node1.ohshit.club" // 节点域名
        Provider: cloudflare
        Email: example@lala.im // 你的邮箱
        DNSEnv: 
          CF_DNS_API_TOKEN: cwPZEBAvIXUcxCdy4v2ib5j8uK-KwnRMDuNPxE-n // 你之前申请的cloudflare域名api

新建supervisor配置文件用于守护xrayr:

nano /etc/supervisor/conf.d/xrayr.conf

写入如下配置:

[program:xrayr]
directory=/opt/xrayr
command=/opt/xrayr/XrayR -config config.yml
autostart=true
autorestart=true

启动xrayr:

supervisorctl update

至此所有配置就全部完成了。如果部署遇到了问题,下面的这些日志可能会有帮助:

/var/www/v2board/storage/logs/laravel-xxxx-xx-xx.log
/var/www/v2board/storage/logs/queue.log
/opt/xrayr/access.log
/opt/xrayr/error.log

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

赞(1) 打赏
一分也是爱

支付宝扫一扫打赏

微信扫一扫打赏

标签:

上一篇:

下一篇:

相关推荐

0 条评论关于"部署V2Board并对接XrayR后端"

最新评论

    暂无留言哦~~

博客简介

本站CDN采用VmShell免费提供离中国大陆最近的香港CMI高速网络做支撑,ToToTel打造全球最快速的边沿网络支撑服务,具体详情请见 :https://vmshell.com/ 以及 https://tototel.com/,网站所有的文件和内容禁止大陆网站搬迁复制,谢谢,VPS营销投稿邮箱: admin@linuxxword.com,我们免费帮大家发布,不收取任何费用,请提供完整测试文稿!

精彩评论

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!申请交换友链

站点统计

  • 文章总数: 2341 篇
  • 草稿数目: 13 篇
  • 分类数目: 6 个
  • 独立页面: 0 个
  • 评论总数: 2 条
  • 链接总数: 0 个
  • 标签总数: 6116 个
  • 注册用户: 139 人
  • 访问总量: 8,648,271 次
  • 最近更新: 2024年4月28日