Am configurat Supervisord pentru a rula câteva scripturi perpetuu.
Dacă pornesc Supervisord fără niciun program (fișier *.conf în /etc/supervisor/conf.d), funcționează perfect
root@networking:~# systemctl restart supervisor
root@networking:~# supervisorctl
supraveghetor>
Fișierul de configurare de mai jos:
; fișierul de configurare a supraveghetorului
[unix_http_server]
file=/var/run/supervisor.sock ; (calea către fișierul socket)
chmod=0700; modul fișier sockef (implicit 0700)
[supraveghetor]
logfile=/var/log/supervisor/supervisord.log ; (fișierul jurnal principal; implicit $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervizord pidfile;implicit supervisord.pid)
childlogdir=/var/log/supervisor ; (dir jurnal copil „AUTO”, implicit $TEMP)
; secțiunea de mai jos trebuie să rămână în fișierul de configurare pentru RPC
; (supervisorctl/interfață web) să funcționeze, interfețe suplimentare pot fi
; adăugat prin definirea lor în secțiuni separate rpcinterface:
[rpcinterface:supervizor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[inet_http_server]
port=*:9001
username=foo
parola=bara
[supervizorctl]
serverurl=unix:///var/run/supervisor.sock ; utilizați un URL unix:// pentru un socket Unix
; Secțiunea [include] poate conține doar setarea „fișiere”. Acest
; setarea poate lista mai multe fișiere (separate prin spații albe sau
; linii noi). De asemenea, poate conține metacaractere. Numele fișierelor sunt
; interpretat ca fiind relativ la acest dosar. Fișierele incluse *nu se pot*
; includ fișierele în sine.
[include]
fișiere = /etc/supervisor/conf.d/*.conf
De asemenea, văd ecranul UI web ca mai jos:
Fișierul jurnal arată:
2022-03-25 22:21:47,391 CRIT Supervisor rulează ca root. Privilegiile nu au fost abandonate deoarece nu este specificat niciun utilizator în fișierul de configurare. Dacă intenționați să rulați ca root, puteți seta user=root în fișierul de configurare pentru a evita acest mesaj.
2022-03-25 22:21:47,391 WARN Niciun fișier nu se potrivește prin include „/etc/supervisor/conf.d/*.conf”
2022-03-25 22:21:47,399 INFO „supervizor” interfață RPC inițializată
2022-03-25 22:21:47,400 INFO „supervizor” interfață RPC inițializată
2022-03-25 22:21:47,400 CRIT Server „unix_http_server” rulează fără nicio verificare a autentificării HTTP
2022-03-25 22:21:47,400 INFO supervizor a început cu pid 39887
Cu toate acestea, dacă adaug un fișier de program la /etc/supervisor/conf.d/ez_send_email.conf
[program:ez_send_email]
command=php /var/www/html/ez/index.php worker process_email_queue
utilizator=rădăcină
autostart=true
pornire automată=adevărat
startsecs=5
stdout_logfile=/var/log/supervisord/ez_send_email_output.log
stdout_logfile_maxbytes=10MB
stderr_logfile=/var/log/supervisord/ez_send_email_error.log
stderr_logfile_maxbytes=10MB
Obțin următoarea ieșire la rulare supraveghetorctl
root@networking:~# systemctl restart supervisor
root@networking:~# supervisorctl
unix:///var/run/supervisor.sock nu există un astfel de fișier
supraveghetor>
De asemenea, interfața de utilizare web arată:
Nici în fișierul jurnal nu există nimic. Am incercat si eu sa ma schimb utilizator=rădăcină unui utilizator non-root, dar nici nu funcționează.
Rularea comenzii manual
php /var/www/html/ez/index.php worker process_email_queue
functioneaza de asemenea bine. Deci nu pare să existe nicio problemă cu comanda.
Orice ajutor ar fi cu adevărat apreciat.