2010-02-10 61 views
0

我有一個在nginx上使用Django和FCGI的應用程序。我正在使用第三方應用程序,例如James Bennett的Pinax項目的django註冊和django消息。這兩個應用程序都有提交的表單並將數據保存到數據庫中,然後重定向到新的URL。使用nginx/fcgi/django,我有表單發佈504網關超時

我的問題似乎是這些應用程序中的任何窗體上的.save()方法在提交窗體時導致504網關超時。所有的數據都應該保存在數據庫中,但是在保存表單後,似乎都不會返回任何內容。

我已經在代碼中的各個點做了一些日誌記錄,並且沒有錯誤。就好像表單上的save()方法或表單連接到的模型一樣,不會返回任何內容 - 錯誤或其他。由於缺乏細節,答案可能對我來說是一個夢想,但只是朝着正確的方向推動或者更全面地診斷問題的方式會是太棒了。

+0

你有沒有得到答案?在通過管理員屏幕提交單個記錄並使用空數據庫時,我在ubuntu上看到了同樣的情況 – mjallday

回答

0

原來,這個問題與nginx完全無關,但Django在嘗試發送電子郵件時發生超時。不幸的是,它不會丟失錯誤信息或任何無法連接到電子郵件服務器的指示。

0

通常,由於nginx和fastcgi進程之間的超時,nginx中的504會發生。你可能想看看你的nginx設置和fastcgi_read_timeout設置?

你的nginx錯誤日誌通常會提供更多的信息,說明爲什麼事情不能正常工作。如果你使用的是* nix發行版,它通常在「/var/log/nginx/error.log」

+0

今晚我會調整該設置,看看有什麼不同。奇怪的是,在超時發生的代碼中完成的工作並不是那麼嚴重或耗時。在某些情況下,它會保存單個模型並返回。感謝指針。我會讓你知道結果。 – aezell