我正在运行切诺基(Cherokee)使用UWSGI提供Django应用程序。自升级到切诺基1.2.x.以来,我一直有一些奇怪的行为。

在切诺基1.2.x之前,该设置工作正常,我没有更改任何配置。

问题是,现在,当UWSGI不运行并且我尝试加载Django App网站时,我首先会出现503错误。随后的请求正常。看着日志,我看到切诺基正在产生多个UWSGI实例,这似乎是问题所在。

我已经发布了切诺基。 这里

看来切诺基正在产生多个UWSGI实例:

probably another instance of uWSGI is running on the same address.

我对UWSGI的配置是:

<pidfile>/home/my_home/my_project/uwsgi.pid</pidfile>
<vacuum />
<processes>4</processes>
<harakiri>30</harakiri>
<master />

该问题的另一个症状是,在503之后,随后成功开始了UWSGI,我没有PID文件。这是因为UWSGI的其他实例开始启动,然后在退出时删除PID文件:

binding on TCP port: 45611
probably another instance of uWSGI is running on the same address.
bind(): Address already in use [socket.c line 341]
VACUUM: pidfile removed.

因此,总体而言,问题是:

  • 切诺基启动UWSGI之后,在第一视图上显示503
  • 没有创建PID文件(或者是创建它,但立即被另一个退出的UWSGI流程删除)

Google搜索 probably another instance of uWSGI is running on the same address 仅与UWSGI源代码匹配,因此看来我是唯一一个经历此源的人。

我在具有相同设置的多台计算机上遇到了同一问题。

有任何想法吗?

软件版本:

  • UWSGI 0.9.6.2
  • 切诺基1.2.1
  • Django开发行李箱(1.3 RC和1.3之间)
有帮助吗?

解决方案

看来这是修复在中继线的切诺基错误:

http://svn.cherokee-project.com/listing.php?repname = cherokee&peg=6382&rev=6380

我从SVN下载了后备箱,但我不再遇到问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top