【问题标题】:Using nginx/fcgi/django, I have form posts that give a 504 gateway time-out使用 nginx/fcgi/django,我的表单帖子给出了 504 网关超时
【发布时间】:2011-01-15 03:15:57
【问题描述】:

我有一个在 nginx 上使用 Django 和 FCGI 的应用程序。我正在使用第三方应用程序,例如 James Bennett 的 django-registration 和 Pinax Project 中的 django-messages。这两个应用程序都有提交的表单并将数据保存到数据库中,然后重定向到新的 URL。

我的问题似乎是这些应用程序中任何表单上的 .save() 方法在提交表单时会导致 504 网关超时。所有数据都按原样保存在数据库中,但是在保存表单后似乎都没有向应用程序返回任何内容。

我在代码的不同点做了一些记录,没有错误。就好像表单上的 save() 方法或表单连接到的模型根本不会返回任何东西——错误或其他。

由于缺乏细节,答案对我来说可能是一个梦想,但只是朝着正确的方向轻推或更全面地诊断问题的方法会很棒。

【问题讨论】:

  • 你有没有得到这个答案?我在 ubuntu 上看到了同样的事情,当通过管理屏幕提交一条记录时,数据库为空

标签: django nginx fastcgi django-registration


【解决方案1】:

通常 nginx 中的 504 是由于 nginx 和 fastcgi 进程之间的超时而发生的。你可能想看看你的 nginx 设置和fastcgi_read_timeout 设置?

您的 nginx 错误日志通常会提供更多信息,说明为什么事情不正常。如果您使用的是 *nix 发行版,它通常位于“/var/log/nginx/error.log”中

【讨论】:

  • 今晚我将调整该设置,看看有什么不同。奇怪的是,在发生超时的代码中所做的工作并没有那么严重或耗时。在某些情况下,它会保存一个模型表单然后返回。感谢您的指点。我会让你知道结果。
【解决方案2】:

原来问题与 nginx 完全无关,而是 Django 在尝试发送电子邮件时超时。不幸的是,它不会丢弃错误消息或任何无法连接到电子邮件服务器的指示。

【讨论】:

    猜你喜欢
    • 2015-02-09
    • 2011-10-04
    • 2016-06-19
    • 2013-10-17
    • 2011-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-20
    相关资源
    最近更新 更多