0

0

Laravel Horizon怎么安装_Laravel队列监控工具Horizon配置

穿越時空

穿越時空

发布时间:2025-11-27 09:06:08

|

784人浏览过

|

来源于php中文网

原创

Laravel Horizon是一款官方Redis队列监控工具,提供美观仪表盘展示任务状态、处理速度及失败任务;通过composer require laravel/horizon安装,执行php artisan horizon:install发布资源文件,配置.env中QUEUE_CONNECTION=redis并确保Redis连接正确;在config/horizon.php中设置不同环境的进程数与队列策略;通过修改HorizonServiceProvider控制访问权限,启动php artisan horizon服务后访问/horizon路径即可查看监控面板,包含活跃队列、处理速率、失败任务等信息,适用于中大型项目提升队列管理效率。

laravel horizon怎么安装_laravel队列监控工具horizon配置

Laravel Horizon 是 Laravel 官方推出的 Redis 队列监控和管理工具,它提供了一个美观的仪表板来监控队列任务的运行状态、处理速度、失败任务等信息。使用 Horizon 可以更方便地管理基于 Redis 的队列系统,适合中大型项目。以下是完整的安装与配置流程。

安装 Horizon 扩展包

在 Laravel 项目根目录下执行以下命令来安装 Horizon:

composer require laravel/horizon

安装完成后,Horizon 的核心文件会被引入到项目中。

发布 Horizon 资源文件

安装完成后,需要将 Horizon 的配置和前端资源文件发布到项目中:

php artisan horizon:install

该命令会生成 config/horizon.php 配置文件,并注册 Horizon 的路由

配置 Redis 队列连接

Horizon 仅支持 Redis 作为队列驱动,因此需确保 .env 文件中的 QUEUE_CONNECTION 设置为 redis

QUEUE_CONNECTION=redis

同时,在 config/database.php 中确认 Redis 配置正确,例如:

  • 'redis' => [
  •   'client' => 'predis',
  •   'default' => [
  •     'host' => env('REDIS_HOST', '127.0.0.1'),
  •     'password' => env('REDIS_PASSWORD', null),
  •     'port' => env('REDIS_PORT', 6379),
  •     'database' => 0,
  •   ]
  • ]

配置 Horizon 监控策略

打开 config/horizon.php 文件,可以配置工作进程数量、队列平衡策略、环境监控等。例如:

  • 'environments' => [
  •   'production' => [
  •     'supervisor-1' => [
  •       'connection' => 'redis',
  •       'queue' => ['default'],
  •       'balance' => 'auto',
  •       'processes' => 10,
  •     ]
  •   ],
  •   'local' => [
  •     'supervisor-1' => [
  •       'connection' => 'redis',
  •       'queue' => ['default'],
  •       'balance' => 'simple',
  •       'processes' => 3,
  •     ]
  •   ]
  • ]

可以根据不同环境调整进程数和队列分配策略。

启用 Horizon 管理界面

Horizon 默认通过 /horizon 路由访问。为了安全,建议限制访问权限。可以在 app/Providers/HorizonServiceProvider.php 中设置授权逻辑:

a0.dev
a0.dev

专为移动端应用开发设计的AI编程平台

下载

修改 gate 方法,例如只允许本地访问或特定用户查看:

if ($this->app->environment('local')) {
  return true;
}

return request()->user() && in_array(request()->user()->email, [
  'admin@example.com'
]);

启动 Horizon 服务

使用以下命令启动 Horizon 监听队列:

php artisan horizon

启动后,Horizon 会持续监听 Redis 队列,并记录任务执行情况。

停止服务可使用:

php artisan horizon:terminate

访问 Horizon 仪表盘

启动服务后,在浏览器访问 http://your-app.test/horizon 即可查看队列监控面板。

面板中包含:

  • 当前活跃队列和任务数
  • 任务处理速率(jobs per minute)
  • 最近失败任务列表
  • 工作进程状态
  • 内存与运行时间统计

常见问题处理

如果无法访问或数据不更新,请检查:

  • 是否已运行 php artisan horizon
  • Redis 服务是否正常运行
  • 队列任务是否实际被推送到 Redis
  • 是否清除了配置缓存(php artisan config:clear
  • 日志文件 storage/logs/laravel.log 是否有报错

基本上就这些。Horizon 让 Laravel 队列管理变得更直观高效,合理配置后能显著提升运维效率。

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

2537

2023.09.01

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

1606

2023.10.11

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

1499

2023.10.11

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

952

2023.10.23

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

1416

2023.10.23

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

1234

2023.11.03

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1445

2023.11.09

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1306

2023.11.13

Golang gRPC 服务开发与Protobuf实战
Golang gRPC 服务开发与Protobuf实战

本专题系统讲解 Golang 在 gRPC 服务开发中的完整实践,涵盖 Protobuf 定义与代码生成、gRPC 服务端与客户端实现、流式 RPC(Unary/Server/Client/Bidirectional)、错误处理、拦截器、中间件以及与 HTTP/REST 的对接方案。通过实际案例,帮助学习者掌握 使用 Go 构建高性能、强类型、可扩展的 RPC 服务体系,适用于微服务与内部系统通信场景。

8

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.7万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 7万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号