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
.confsoubor 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.confnaproject.conf.tmp - Poté
service supervisor restart(po čemsupervisorctlznovu funguje) - Zpět přejmenujete soubor conf projektu na
project.conf supervisorctl reread,supervisorctl update,supervisorctl restart all