魔众文库系统异步转换配置方案教材

根据魔众文库系统的文档,异步转换需要配置队列服务和定时任务。我的环境(宝塔 PHP 8.1,网站目录/www/wwwroot/hongchaovip.cn/wwwroot)的完整配置步骤:

1. 配置队列连接(.env 文件)

首先编辑网站根目录下的.env文件,设置队列驱动为 Redis(推荐):
# 队列驱动改为redis
QUEUE_CONNECTION=redis
# Redis配置(根据你的实际Redis信息修改)
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=你的Redis密码(如果没有则留空)
REDIS_PORT=6379
REDIS_DB=0

2. 配置 Supervisor 管理队列进程

在宝塔面板中安装 Supervisor 管理器,然后添加以下配置:

 

  • 名称:wenku-queue
  • 启动用户:www
  • 运行目录:/www/wwwroot/hongchaovip.cn/wwwroot
  • 启动命令:/www/server/php/81/bin/php artisan queue:work --tries=3 --daemon
  • 进程数量:2-4(根据服务器配置调整)

3. 设置定时任务

在宝塔面板的 “计划任务” 中添加以下定时任务:

 

  • 任务类型:Shell脚本
  • 执行周期:每1分钟
  • 脚本内容:
  • cd /www/wwwroot/hongchaovip.cn/wwwroot && /www/server/php/81/bin/php artisan schedule:run >> /dev/null 2>&1

4. 重启服务

配置完成后,需要:
  1. 重启 Supervisor 服务,确保队列进程正常启动
  2. 确认定时任务已启用
  3. 执行以下命令清除缓存:

cd /www/wwwroot/hongchaovip.cn/wwwroot

/www/server/php/81/bin/php artisan cache:clear

/www/server/php/81/bin/php artisan config:clear

注意事项

  1. 确保已安装 PHP 的 Redis 扩展(在宝塔 PHP 管理中安装)
  2. 确保 Redis 服务已正常运行
  3. 转换服务需要足够的服务器资源,特别是内存和 CPU
  4. 可以通过storage/logs/laravel.log查看队列运行日志排查问题
配置完成后,系统会自动处理文档转换任务,不会再阻塞前端请求。
图片[1]-魔众文库系统异步转换配置方案教材-西城知道
如果遇到:You can’t run this command as root ( uid = 0 ).
一是swoole_loader模块重复加载的警告,二是禁止使用 root 用户执行 artisan 命令(出于安全限制)。

解决方法:切换到 www 用户执行命令

在宝塔环境中,网站相关命令应该用www用户(网站运行用户)执行,而不是 root。操作步骤:
  1. 保持当前目录(已在/www/wwwroot/hongchaovip.cn/wwwroot),执行以下命令

# 切换到www用户并执行配置缓存命令

sudo -u www /www/server/php/81/bin/php artisan config:cache

 

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容