我使用fcgi和Lighttpd在Linux上運行Django。每隔一段時間(大約每天一次),服務器就會死亡。我正在使用Django,Python和Lighttpd的最新穩定版本。爲什麼Django fcgi會死?我如何知道?
我能想到的唯一的事情是我的程序打開了很多文件並執行了很多外部過程,但我相當肯定事情的一面是水密的。
看看錯誤和訪問日誌,沒有什麼特別的事情發生(即負載不在正常水平以上)。在那些我有Python異常的場合,這些已經顯示在error.log中,但是當這次崩潰發生時,我什麼也得不到。
有什麼方法可以找出過程爲何死亡?在每條生產線上放置日誌記錄都不夠?顯然,我不能重現這一點,所以我不知道在哪裏看。
編輯
就這麼快死了Django的過程。我正在與manage.py runfcgi daemonize=true method=threaded host=127.0.0.1 port=12345
你在找核心文件嗎?你有沒有設置你的rlimits允許核心文件? – jemfinch 2010-04-08 13:40:49
您可以在非守護進程調試模式下從命令行運行服務器嗎? – 2010-04-08 13:41:25
再次閱讀這個問題,有一件事情並不完全清楚:它是lighttpd守護進程死亡還是您自己的FastCGI進程? – Thomas 2010-04-08 13:45:33