Je suis confronté en ce moment à des problèmes avec mon Yunohost. Ils sont peut-être liés.
L’un des problèmes que je n’arrive pas à me connecter l’interface d’administration : Je rentre le mot de passe, je valide. J’ai le message “connecté” mais je reste sur l’écran de loggin. Si je rafraîchi PacMan se met indéfiniment à faire des aller-retours. Si je reviens plus tard, parfois j’arrive à nouveau à me reconnecter.
L’autre problème et que j’ai souvent le message d’erreur “l’API ne répond pas”. Par exemple, lors de l’installation d’une application.
La commande yunohost-api --verbose me dit :
root@serveur:/home/user# yunohost-api --verbose
546 ERROR moulinette.interface.api run - unable to start the server instance on localhost:6787
Traceback (most recent call last):
File “/usr/lib/python2.7/dist-packages/moulinette/interfaces/api.py”, line 762, in run
server.serve_forever()
File “/usr/lib/python2.7/dist-packages/gevent/baseserver.py”, line 282, in serve_forever
self.start()
File “/usr/lib/python2.7/dist-packages/gevent/baseserver.py”, line 234, in start
self.init_socket()
File “/usr/lib/python2.7/dist-packages/gevent/pywsgi.py”, line 639, in init_socket
StreamServer.init_socket(self)
File “/usr/lib/python2.7/dist-packages/gevent/server.py”, line 78, in init_socket
self.socket = self.get_listener(self.address, self.backlog, self.family)
File “/usr/lib/python2.7/dist-packages/gevent/server.py”, line 89, in get_listener
return _tcp_listener(address, backlog=backlog, reuse_addr=self.reuse_addr, family=family)
File “/usr/lib/python2.7/dist-packages/gevent/server.py”, line 153, in _tcp_listener
sock.bind(address)
File “”, line 1, in bind
error: [Errno 98] Address already in use: (‘localhost’, 6787)
La commande netstat -tlnp | grep 6787 me retourne :
Et je vous avoue que là… je sèche. Où plutôt, je n’ai pas envie de faire bêtise. Dois-je changer le port de Python, ou bien de la moulinette ? Comment fais-je l’un ou l’autre ?
Merci pour votre aide,
Configuration de mon YunoHost Matériel : Serveur dédié Dedibox : Architecture: x86_64 Accès Internet : dans un datcenter YunoHost version : yunohost : 2.7.9 (stable) yunohost-admin : 2.7.7 (stable) moulinette : 2.7.7 (stable) ssowat : 2.7.7 (stable)
je pense que ce que tu observes en lançant yunohost-api est attendu : il y a probablement deja une instance de yunohost-api qui tourne, qui utilise le même port. Tu dois pouvoir le vérifier avec service yunohost-api status.
Par rapport au problème initial, je ne suis pas sur de ce qui peut être la raison… Est-ce que tu obtiens beaucoup de ligne lorsque tu fais un ps -ef | grep yunohost par exemple ?
Sinon, peut-être que relancer l’api via service yunohost-api restart peut aider, mais j’en doute un peu :s
Tu peux, si jamais tu ne trouve pas d’où vient le problème, redémarrer le serveur. Si ça ne fonctionne toujours pas, tu peux faire la méthode brute mais qui fonctionnera :
netstat -tlnp | grep 6787
kill $n°processus
À la place de $n°processus, mets le numéro présent dans le résultat de la commande netstat sur la droite près de “*/python”.
et après tu relance l’api de Yunohost en faisant :
service yunohost-api start
Mais bon, c’est qu’en cas d’urgence. Le risque c’est que le problème se retrouve au redémarrage à chaque fois.
Je me demande si tu n’as pas un autre application python qui utilise ce port. Regarde ce qui ne fonctionne plus parmi tes programmes et apps quand tu tues le processus (kill $processus). Ça aidera peut-être à cerner le problème.
Bonjour à vous 2, merci de vous préoccupez de mon problème,
Alors,
service yunohost-api status me renvoie (je ne sais pas si cela est attendu, ou pas, mais j’ai l’impression que c’est normal) :
● yunohost-api.service - YunoHost API Server
Loaded: loaded (/lib/systemd/system/yunohost-api.service; enabled)
Active: active (running) since Mon 2018-02-19 08:27:01 CET; 5min ago
Main PID: 27358 (yunohost-api)
CGroup: /system.slice/yunohost-api.service
└─27358 /usr/bin/python /usr/bin/yunohost-api
Feb 19 08:27:01 serveur.net systemd[1]: Started YunoHost API Server.
service yunohost-api restart et même de tout le serveur
J’avais déjà effectivement cherché le process qui tourne sur le 6787 et l’ai killé, sauf que c’est toujours “python” qui ressort, et se relance directement après la commande. Après mon kill, tout semble tourner correctement.