【问题标题】:Auto kill fastcgi process when deploying django部署 django 时自动杀死 fastcgi 进程
【发布时间】:2011-01-05 12:14:04
【问题描述】:

几天前一切顺利。但是从今天开始,当我运行 fastcgi 时,该进程将被系统自动杀死。最糟糕的是我不知道为什么以及哪个进程杀死了fastcgi进程。

让我详细说明一下。

我们使用 nginx 为另一个监听 80 端口的 django 应用程序提供静态文件。(这是用于生产的)

另外两个 django 应用使用 lighttpd/fastcgi,分别监听 8090 和 8091。(这些用于开发测试)

我运行的命令是:

python manage.py runfcgi host=127.0.0.1 port=8090

python manage.py runfcgi host=127.0.0.1 port=8091

在我运行其中一个之后,我运行 ps -ef|grep "python" 可以看到 fastcgi 的进程,但是几秒钟后,它们就消失了。

ps的输出是:

root      2685     1  0  2009 ?        00:00:27 /usr/bin/python -tt /usr/sbin/yum-updatesd
root      2827     1  0 03:49 ?        00:00:00 python manage.py runfcgi host=127.0.0.1 port=8090
root      2828  2827  0 03:49 ?        00:00:00 python manage.py runfcgi host=127.0.0.1 port=8090

fastcgi 被杀死了,我们的网站也宕机了。

那么应该是什么问题?我怎么知道?

谢谢。

【问题讨论】:

  • belonts-on-serverfault ?

标签: python django process fastcgi


【解决方案1】:

检查您的日志文件!

您可以在 runfcgi 命令中添加 outlogerrlog 选项,以将 stderr 和 stdout 记录到文件中。见python manage.py help runfcgi

【讨论】:

    【解决方案2】:

    'lsof -w -n -i tcp:8090' 或 'fuser -n tcp 8090' 或 'netstat -anp|grep :8090[[:blank:]]' 应该显示进程 ID。如果没有 (init) 脚本用于关闭有问题的服务(因为 TCP/8090 意味着代理)来杀死你,你可以通过 PID 'kill -9 pidnumber'。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-26
      相关资源
      最近更新 更多