使用中的 Gunicorn 连接:('0.0.0.0', 5000)

Posted

技术标签:

【中文标题】使用中的 Gunicorn 连接:(\'0.0.0.0\', 5000)【英文标题】:Gunicorn Connection in Use: ('0.0.0.0', 5000)使用中的 Gunicorn 连接:('0.0.0.0', 5000) 【发布时间】:2013-05-21 07:59:50 【问题描述】:

我今天下午安装了redis,它导致了一些错误,所以我卸载了它,但是当我使用foreman start 启动应用程序时,这个错误仍然存​​在。关于修复的任何想法?

foreman start
22:46:26 web.1  | started with pid 1727
22:46:26 web.1  | 2013-05-25 22:46:26 [1727] [INFO] Starting gunicorn 0.17.4
22:46:26 web.1  | 2013-05-25 22:46:26 [1727] [ERROR] Connection in use: ('0.0.0.0', 5000)

【问题讨论】:

【参考方案1】:

检查您的流程。你可能有一个不干净的出口,留下一个仍在运行的僵尸进程。

【讨论】:

我运行了ps -ax,但无法确定是哪个进程导致了问题。关于寻找什么的任何提示? 我杀死了 gunicorn 进程,一切似乎又恢复了。 netstat -tulpn | grep 5000 帮助【参考方案2】:

在网上搜索了一番后,看起来下面的命令是最好用的。这会杀死在端口 5000 上运行的所有进程,并且似乎对我有用:

kill `lsof -i :5000`

Source (although a bit more shady than I prefer)

【讨论】:

【参考方案3】:

这应该可以为您解决问题:

kill -9 $(lsof -i:5000 -t) 2> /dev/null

其中 5000 是您要终止的端口

【讨论】:

也可以在 Mac 上使用【参考方案4】:

只需输入

sudo fuser -k 5000/tcp

.这将杀死与端口 5000 关联的所有进程

【讨论】:

【参考方案5】:

找到孤立的进程:

ps -ax |grep gunicorn

11111 ?? 0:03.44 /usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/Resources/Python.app/Contents/MacOS/Python /usr/local/bin/gunicorn -b :5000 main:app

找到进程 ID(结果第一列中的数字)

kill 11111

将 11111 替换为进程 ID

【讨论】:

【参考方案6】:

我知道,如果您运行的是 MacOS,您可能会看到“ControlCe”列为进程。你可以杀死它,但它只会重新启动。经过一番搜索,我发现控制中心使用 5000 来监听 Airplay Receiver 请求。您可以通过 System Preferences>Sharing>Airplay Receiver 禁用此功能。

【讨论】:

以上是关于使用中的 Gunicorn 连接:('0.0.0.0', 5000)的主要内容,如果未能解决你的问题,请参考以下文章

gunicorn部署Flask服务

Gunicorn 启动过程源码浅析

Gunicorn 启动过程源码浅析

Gunicorn 启动过程源码浅析

Gunicorn-Django部署

gunicorn 实现 gevent 多线程