J'essaie de configurer un écouteur de file d'attente pour laravel et je n'arrive pas à faire fonctionner correctement le superviseur. J'obtiens l'erreur suivante lorsque j'exécute supervisorctl reload
:
error: <class 'socket.error'>, [Errno 2] No such file or directory: file: /usr/lib/python2.7/socket.py line: 228
Le fichier existe. Si vous essayez d'exécuter Sudo supervisorctl
, J'obtiens ceci unix:///var/run/supervisor.sock no such file
.
J'ai essayé de réinstaller le superviseur et cela n'a pas fonctionné non plus. Je ne sais pas quoi faire ici.
J'utilise Laravel Homestead (Ubuntu 16.04).
Résultat de service supervisor status
:vagrant@Homestead:~/Code$ Sudo service supervisor status ● supervisor.service - Supervisor process control system for UNIX Loaded: loaded (/lib/systemd/system/supervisor.service; enabled; vendor preset: enabled) Active: activating (auto-restart) (Result: exit-code) since Thu 2016-12-22 11:06:21 EST; 41s ago Docs: http://supervisord.org Process: 23154 ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown (code=exited, status=0/SUCCESS) Process: 23149 ExecStart=/usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf (code=exited, status=2) Main PID: 23149 (code=exited, status=2)
J'ai fini par supprimer complètement le superviseur, réinstaller et réécrire mes fichiers de configuration. Je dois avoir fait quelque chose de mal dans le processus et je n'ai pas pu l'attraper.
Vous devez exécuter Sudo service supervisor start
lorsque vous êtes dans le répertoire superviseur.
A fonctionné pour moi.
Vérifiez le fichier supervisord.conf.
Recherchez les éléments suivants:
[unix_http_server]
file=/path/to/supervisor.sock/file ; (the path to the socket file)
chmod=0700 ; sockef file mode(default 0700)
Accédez au chemin mentionné ci-dessus et vérifiez si le fichier est présent.
S'il est présent, essayez de réinstaller le superviseur.
Sinon, recherchez le fichier supervisor.sock à l'aide de la ligne de commande ou de l'interface graphique de l'explorateur de fichiers.
Copiez le fichier trouvé à l'étape ci-dessus à l'emplacement spécifié dans [unix_http_server] à l'aide de la commande cp ou de l'interface graphique.
Pour moi, le supervisor.sock était présent dans le dossier/run.
Vous avez probablement fait la même erreur que moi et créé le fichier de configuration /etc/supervisord.conf
alors que mon gestionnaire de services (systemd) utilisait le fichier de configuration /etc/supervisor/supervisord.conf
Sudo rm /etc/supervisord.conf
O
Sudo mv /etc/supervisord.conf /etc/supervisor/supervisord.conf
si tu veux le garder
Vous pouvez maintenant exécuter Sudo supervisorctl
supervisorctl recherche d'abord le fichier de configuration situé dans /etc/supervisord.conf
, s'il n'est pas présent, il recherchera le fichier par défaut du package /etc/supervisor/supervisord.conf
tu peux essayer
Sudo touch /var/run/supervisor.sock
Sudo chmod 777 /var/run/supervisor.sock