前言

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

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

问题现象

  1. 首页服务器信息统计表空白
  2. TG消息通知没有
  3. 收不到邮件,包括注册,找回密码等邮件都收不到

原因及解决

v2board 依赖 pm2 或者 Supervisor 进程守护服务管理发送邮件,触发TG通知等,如果 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”错误提示