我正在尝试将我的项目上传到服务器。现在服务器中已有一个项目。我有新的项目,我想运行并用新的项目替换旧项目,所以我将新项目拉到服务器。然后我激活虚拟环境并完成所有必要的工作。然后当我尝试运行命令时:
uwsgi --plugins=python --chdir=/var/www/prjt/src/ --socket=127.0.0.1:8889 --module=prjt.wsgi:application &
它告诉我
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]
我搜索了类似的问题,并找到了一些关于杀死所有uwsgi实例的解决方案,如本答案here中所述
但是找不到怎么做。
我是这个领域的新手。谁能请帮忙。我被困在这里。
希望问题很清楚。提前致谢
对我来说,以暴力方式杀死uwsgi实例的方法是:
sudo pkill -f uwsgi -9
在命令中添加一个pid文件:
uwsgi --plugins=python --chdir=/var/www/prjt/src/ --socket=127.0.0.1:8889 --module=prjt.wsgi:application --pidfile /tmp/myapp.pid
然后用
uwsgi --stop /tmp/myapp.pid
以安全的方式阻止uwsgi实例。
如果在启动第一个实例时没有指定pid文件,则可以使用它来粗暴地删除它
kill `pidof uwsgi`
你可以在这里获得uwsgi过程的pid lsof -t -i tcp:8000
并杀死它然后kill -9 pid
我通过命令停止我的uwsgi实例:
kill -INT `cat ${APP_ROOT}/run/uwsgi.pid`
此命令发送signal to uwsgi,导致它停止。
如果您不了解PID,可能:
killall -s INT /ve/path/bin/uwsgi