使用 nginx/fcgi/django,我的表单帖子给出了 504 网关超时

发布于 2024-08-21 12:02:14 字数 406 浏览 9 评论 0原文

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

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

我在代码中的各个点做了一些日志记录,没有错误。就好像表单或表单所连接的模型上的 save() 方法根本不会返回任何内容——错误或其他情况。

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

I have an app that uses Django with FCGI on nginx. I'm using the third-party apps like James Bennett's django-registration and django-messages from the Pinax Project. Both of these apps have forms that are submitted and save data into the database, then redirect on to a new URL.

My issue seems to be that the .save() method on any of the forms in these apps cause a 504 gateway time-out when the forms are submitted. All of the data is saved in the database as it should be, however neither seems to ever return anything to the app after the form is saved.

I've done some logging at various points in the code and there are no errors. It's as if the save() methods on the form or the models the forms are connected to simply never return anything--error or otherwise.

With this lack of detail, an answer might be a dream for me, but just a nudge in the right direction or a way to diagnose the issue more completely would be fantastic.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

风轻花落早 2024-08-28 12:02:14

nginx 中的 504 错误通常是由于 nginx 和 fastcgi 进程之间的超时而发生的。您可能想查看一下 nginx 设置并提高 fastcgi_read_timeout 设置?

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

Typically 504's in nginx happen due to timeout between nginx and the fastcgi process. You may want to take a look at your nginx settings and up the fastcgi_read_timeout setting?

Your nginx error log will typically provide a bit more information as to why things are not working as well. If you're on a *nix distro it's typically in "/var/log/nginx/error.log"

記柔刀 2024-08-28 12:02:14

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

Turns out the problem was completely unrelated to nginx, but was Django having a timeout when trying to send an email. Unfortunately, it doesn't drop an error message or any indication that it can't connect to the email server.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文