Вызов скриптов или сервисов в NGINX через SYSTEMD
Материал из support.qbpro.ru
Версия от 20:14, 17 октября 2025; Vix (обсуждение | вклад)
1. Создайте службу systemd nginxfeeder.socket, которая будет прослушивать указанный порт, например 8765, и вызывать *nginxfeeder.service:
[Unit]
Description=Nginx callback status
[Socket]
ListenStream=127.0.0.1:8765
Accept=yes
[Install]
WantedBy=sockets.target
Создайте соответствующий nginxfeeder@.serviceфайл, вызываемый следующим образом:
[Service]
ExecStart=/opt/scripts/nginxhandler.sh
StandardError=journal
StandardInput=socket
StandardOutput=socket
User=wwwrun
Group=wwwrun
2.Зарегистрируйте это в systemd (вам не нужно копировать скрипты в /etc) и запустите:
systemctl enable `pwd`/nginxfeeder.socket systemctl enable `pwd`/nginxfeeder@.service systemctl start nginxfeeder.socket
3. Проверьте его telnet 127.0.0.1 8765, и вы увидите результат работы вашего скрипта.
- Теперь ваш скрипт доступен по адресу 127.0.0.1:8765, и вы можете использовать proxy_pass директиву nginx,
чтобы вызвать его для определенного URL.
