Как установить supervisor в Ubuntu 22.04 для работы с Laravel

автор Данила Справцев, Senior Web Developer

Laravel supervisor config example

Supervisor - это системный процесс-менеджер, который позволяет запускать и контролировать фоновые процессы в операционной системе. Он особенно полезен и необходим при работе с Laravel, где может потребоваться запуск очередей задач, планировщиков и других фоновых процессов.

В этой статье я расскажу вам, как установить и настроить supervisor в Ubuntu 22.04 для работы с Laravel.

Обновление системы

Перед установкой supervisor необходимо обновить ОС. Выполните следующие команды в терминале:

sudo apt update
sudo apt upgrade

Установка supervisor

Для установки supervisor выполните следующую команду:

sudo apt install supervisor

Создание конфигурационного файла для Laravel

Теперь нам необходимо создать конфигурационный файл для запуска Laravel-приложения с помощью supervisor. Создайте новый файл с расширением .conf в директории /etc/supervisor/conf.d/. Например, выполните следующую команду:

sudo nano /etc/supervisor/conf.d/laravel-worker.conf

Откроется текстовый редактор nano. Вставьте следующий код в файл:

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /путь_к_проекту/artisan queue:work --tries=3 --sleep=3
autostart=true
autorestart=true
user=пользователь_системы
numprocs=8
redirect_stderr=true
stdout_logfile=/путь_к_лог_файлу/worker.log

Внимание: Замените /путь_к_проекту/ на фактический путь к вашему Laravel-проекту, /путь_к_лог_файлу/worker.log на путь к желаемому файлу журнала, а пользователь_системы на имя пользователя, под которым вы работаете. (обычно это www-data).

Ни в коем случае не используйте root

Более подробно о флагах, с которыми запускается artisan queue:work можно почитать в документации Laravel

Перезапуск supervisor и запуск Laravel-воркера

После создания конфигурационного файла необходимо перезапустить supervisor, чтобы он загрузил новый файл. Выполните следующую команду:

sudo supervisorctl reread
sudo supervisorctl update

Теперь мы можем запустить Laravel-воркер, используя supervisor. Выполните следующую команду:

sudo supervisorctl start laravel-worker:*

Проверка работоспособности

Проверьте работу Laravel-воркера, выполните следующую команду:

sudo supervisorctl status

Вы должны увидеть вывод, подобный следующему:

laravel-worker:laravel-worker_00  RUNNING   pid 12345, uptime 0:10:00
laravel-worker:laravel-worker_01  RUNNING   pid 23456, uptime 0:05:00
...

Если видите подобный вывод, это означает, что supervisor успешно запустил Laravel-воркера.

Последние статьи

Время от времени опыт трансформируется в текст и приобретает свое место на полке.

Время принимать решение - Готовы обсудить проект?