Dobře, po dalším probírání jsem zjistil, co jsem udělal špatně.
Ukáže řádky pro supervisorctl
níže sdělte pouze supervisorctl
kde může najít soubor soketu.
[supervisorctl]
serverurl=unix:///var/run/supervisor.sock
Dále nad souborem jsou další dva řádky, které definují, kde je soubor skutečně vytvořen:
[unix_http_server]
file=/tmp/supervisor.sock
Jak můžete vidět, vytvořil se soubor soketu v /tmp/
zatímco supervisorctl
pokusil se jej přečíst z /var/run/
. Změnil jsem poslední řádek na file=/var/run/supervisor.sock
a teď to funguje nádherně.
Doufám, že tato odpověď pomůže někomu jinému, kdo řeší stejný problém.
Můžete se také podívat na odkaz poskytnutý @MariusMatutiae v komentářích:https://stackoverflow.com/questions/10716159/nginx-and-supervisor-setup-in-ubuntu
Pro uživatele, kteří mají pro oba stejnou položku
[supervisorctl]
serverurl=unix:///tmp/supervisor.sock
&
[unix_http_server]
file=/tmp/supervisor.sock
pro vyřešení problému postupujte podle níže uvedených kroků -
- Smažte soubor .sock z /tmp
- Spusťte příkaz 'supervisord'. Tím se soubor ponožky znovu vytvoří.
- Spuštěním 'supervisorctl -i' zkontrolujte stav služeb.
Doufám, že vám to pomůže!
Po příliš dlouhém zápolení s tímto problémem, kdy mi všichni říkali jen enable
nebo restart
která nefungovala. Konečně jsem našel řešení pro mě:
- Především potvrďte, že máte hlavní soubor Supervisor.conf zde:
/etc/supervisor/supervisor.conf
- Pokud jste v mém případě, máte také projekt
.conf
soubor zde:/etc/supervisor/conf.d/project.conf
Nějak supervisorctl
fungovalo dobře, ale divné je, že děláte service supervisor restart
rozbije vše a dostanete chybu OP.
Řešením pak je:
- Přejmenujte
project.conf
naproject.conf.tmp
- Poté
service supervisor restart
(po čemsupervisorctl
znovu funguje) - Zpět přejmenujete soubor conf projektu na
project.conf
supervisorctl reread
,supervisorctl update
,supervisorctl restart all