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

Необходимо, чтобы команда запущенная через консоль работала после закрытия консоли. Т.е. есть RabbitMQ, а именно слушатель очереди. Необходимо его как-то запустить и чтобы он работал постоянно


Ответы (1 шт):

Автор решения: Ivan Dudarev

если используете systemctl, можно написать сервис

# /etc/systemd/system/some-worker.service
[Unit]
Description=Some worker for RabbitMQ
After=syslog.target
After=network.target

[Service]
RestartSec=2s
Type=simple
User=www-data
Group=www-data
WorkingDirectory=/path/to/project/
ExecStart=/usr/bin/php /path/to/project/worker-script.php
Restart=always
Environment=USER=www-data

[Install]
WantedBy=multi-user.target

Потом стартуете сервис

sudo systemctl start /etc/systemd/system/deploy.service

И добавляете в автозагрузку

sudo systemctl enable /etc/systemd/system/deploy.service
→ Ссылка