J'essaie de télécharger mon projet sur le serveur. Il y a déjà un projet sur le serveur maintenant. J'ai un nouveau projet que je veux exécuter et remplacer l'ancien projet par le nouveau, donc je tire le nouveau projet sur le serveur. Ensuite, j'active l'environnement virtuel et fais tout le travail nécessaire. Ensuite, lorsque j'essaie d'exécuter la commande:
uwsgi --plugins=python --chdir=/var/www/prjt/src/ --socket=127.0.0.1:8889 --module=prjt.wsgi:application &
ça me dit que
probably another instance of uWSGI is running on the same address (127.0.0.1:8889).
bind(): Address already in use [core/socket.c line 761]
J'ai cherché des problèmes similaires et trouvé des solutions pour tuer toutes les instances d'uwsgi comme mentionné dans cette réponse ici
mais n'a pas pu trouver comment le faire.
Je suis nouveau dans ce domaine. Quelqu'un peut-il aider s'il vous plait. Je suis coincé à ça.
J'espère que la question est claire. Merci d'avance
pour moi, la façon de tuer des instances uwsgi de manière brutale était:
Sudo pkill -f uwsgi -9
Ajoutez un fichier pid à votre commande:
uwsgi --plugins=python --chdir=/var/www/prjt/src/ --socket=127.0.0.1:8889 --module=prjt.wsgi:application --pidfile /tmp/myapp.pid
Ensuite, utilisez
uwsgi --stop /tmp/myapp.pid
pour arrêter l'instance uwsgi de manière sûre.
Si vous n'avez pas spécifié de fichier pid lorsque vous avez démarré la première instance, vous pouvez le tuer brutalement en utilisant
kill `pidof uwsgi`
vous pouvez obtenir le pid du processus uwsgi ici lsof -t -i tcp:8000
et tuez-le alors kill -9 pid
J'arrête mon instance uwsgi par commande:
kill -INT `cat ${APP_ROOT}/run/uwsgi.pid`
Cette commande envoie signal à uwsgi qui provoque son arrêt.
Si vous ne connaissez pas le PID, vous pouvez:
killall -s INT /ve/path/bin/uwsgi