debian

如何在Debian上使用Laravel Horizon

小樊
48
2025-04-06 04:47:48
栏目: 智能运维

在Debian上使用Laravel Horizon需要遵循以下步骤:

  1. 安装依赖项

首先,确保你的Debian系统已经安装了PHP、Composer和其他必要的依赖项。你可以使用以下命令来安装它们:

sudo apt-get update
sudo apt-get install php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath
  1. 安装Laravel

接下来,使用Composer安装Laravel。你可以使用以下命令来全局安装Laravel安装程序:

composer global require laravel/installer

确保将Composer的全局二进制文件目录添加到你的系统PATH中。你可以在~/.bashrc~/.zshrc文件中添加以下行:

export PATH="$HOME/.composer/vendor/bin:$PATH"

然后运行source ~/.bashrcsource ~/.zshrc使更改生效。

  1. 创建新的Laravel项目

现在,你可以使用Laravel安装程序创建一个新的Laravel项目:

laravel new your_project_name

your_project_name替换为你的项目名称。

  1. 安装Laravel Horizon

进入你的Laravel项目目录,然后使用Composer安装Laravel Horizon:

cd your_project_name
composer require laravel/horizon
  1. 配置Laravel Horizon

发布Horizon的配置文件:

php artisan vendor:publish --provider="Laravel\Horizon\HorizonServiceProvider" --tag=horizon-config

编辑.env文件,设置队列驱动(例如,使用Redis):

QUEUE_CONNECTION=redis

config/database.php中配置Redis连接信息:

'redis' => [
    'client' => env('REDIS_CLIENT', 'predis'),
    'default' => [
        'host' => env('REDIS_HOST', '127.0.0.1'),
        'password' => env('REDIS_PASSWORD', null),
        'port' => env('REDIS_PORT', 6379),
        'database' => env('REDIS_DB', 0),
    ],
],
  1. 启动Laravel Horizon

在Debian上,你可以使用supervisord来管理Laravel Horizon进程。首先,安装supervisor

sudo apt-get install supervisor

创建一个名为/etc/supervisor/conf.d/laravel-horizon.conf的新配置文件,并添加以下内容:

[program:laravel-horizon]
process_name=%(program_name)s_%(process_num)02d
command=php /path/to/your_project_name/artisan horizon
autostart=true
autorestart=true
user=your_user
numprocs=8
redirect_stderr=true
stdout_logfile=/path/to/your_project_name/storage/logs/horizon.log

/path/to/your_project_name替换为你的Laravel项目的实际路径,将your_user替换为你希望用于运行Horizon进程的用户。

更新supervisor配置并启动Horizon进程:

sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start laravel-horizon:*

现在,Laravel Horizon应该已经在Debian上运行了。你可以使用supervisorctl命令查看进程状态和日志。

0
看了该问题的人还看了