前言

v2board 搭起来体验了一把,颜值很高,功能也比较核心显得比较简练,能更满足基本的使用需求。

但这个面板文档也比较简练,想必是高手们也不屑于写些基础文档,玩这个面板的也能自己解决问题。

问题现象

  1. 首页服务器信息统计表空白,不执行收入统计等
  2. TG消息通知没有
  3. 收不到邮件,包括注册,找回密码等邮件都收不到
  4. 每日流量统计不生效,佣金不会自动确认,用户购买订阅不会自动生效

原因及解决

通过查看源代码可知 v2board/xboard 依赖以下服务:

  • pm2 或者 Supervisor 进程守护 php artisan horizon 服务:实时获取流量、用户状态、节点状态、发送邮件、触发TG通知等
  • php artisan schedule:run 定时任务:确认订单、佣金、工单、重置流量、统计任务等

如果 pm2 服务不正常就会出现如上问题现象,解决办法就是确保 pm2 服务正常运行。我们打开面板根目录下的 pm2.yaml ,可以看到如下内容:

1
2
3
4
5
apps:
- name : 'V2Board'
script : 'php artisan queue:work --queue=send_email,send_telegram,stat_server'
instances: 4
out_file : './storage/logs/queue/queue.log'

从中可见,该服务调用PHP任务,其中就有发送邮件,发送TG通知和服务器统计的功能,刚好对应前文的3个问题现象。

我们可以用以下命令重启 pm2 服务。如果装有宝塔之内的,也可以在宝塔界面添加 pm2.yaml 为启动文件启动。

1
pm2 restart pm2.yaml

启动服务后,使用 pm2 status 命令可见服务运行状态:

1
2
3
4
5
6
7
8
┌─────┬────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├─────┼────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
0 │ V2Board │ default │ N/A │ fork │ 5479 │ 4D │ 0 │ online │ 0% │ 52.1mb │ root │ disabled │
1 │ V2Board │ default │ N/A │ fork │ 5480 │ 4D │ 0 │ online │ 0% │ 52.0mb │ root │ disabled │
2 │ V2Board │ default │ N/A │ fork │ 5481 │ 4D │ 0 │ online │ 0% │ 53.2mb │ root │ disabled │
3 │ V2Board │ default │ N/A │ fork │ 5482 │ 4D │ 0 │ online │ 0% │ 52.2mb │ root │ disabled │
└─────┴────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘

2022年4月15日更新

supervisor守护配置

今天看了下最新代码,官方已经推荐转向使用 supervisor 守护。

supervisor 安装方法不表,删库塔应用商店去找到点下安装就行了,那就简单记录下配置方法:

  1. 启动 supervisor,点击界面顶部 add new daemon
  2. Name 随便填,如:v2b
  3. Run User 选择 www
  4. Run Dir 选择网站根目录,不是 public 目录
  5. Start Command 填上:php artisan horizon

以上填完保存后启动即可,效果相当于在网站根目录下执行了 php artisan horizon 命令,supervisor 会一直守护该命令执行。

以上示例为了简洁,没有填PHP命令程序完整路径,某些系统没做PHP命令链接,可能会出现 PHP版本不匹配,PHP命令不存在 之类错误,可参考此文解决:解决“Peer fingerprint did not match”错误提示

相关文档

  1. XrayR 后端一键对接 V2board 脚本
  2. Xboard 统计任务失效
  3. v2board面板节点在线用户数为0