【发布时间】:2013-12-15 03:57:27
【问题描述】:
我正在尝试使用 Nginx + Gunicorn 在生产服务器上发布 Django 应用程序。当我在服务器上进行简单的压力测试(按住 F5 键一分钟)时,服务器返回 504 Gateway Time-out 错误。为什么会这样?这个错误只有在用户并发请求时才会出现,否则系统对所有人都完全不可用?
【问题讨论】:
标签: python django nginx gunicorn
我正在尝试使用 Nginx + Gunicorn 在生产服务器上发布 Django 应用程序。当我在服务器上进行简单的压力测试(按住 F5 键一分钟)时,服务器返回 504 Gateway Time-out 错误。为什么会这样?这个错误只有在用户并发请求时才会出现,否则系统对所有人都完全不可用?
【问题讨论】:
标签: python django nginx gunicorn
https://medium.com/@paragsharma.py/504-gateway-timeout-django-gunicorn-nginx-4570deaf0922
504 可能是由 gunicorn 超时引起的,您需要以 --timeout arg 之类的方式启动它
gunicorn --access-logfile - --workers 3 --timeout 300 --bind unix:/home/ubuntu/myproject/myproject.sock myproject.wsgi:application
【讨论】:
当你按住 F5 时:
解决方案:
或者:
用 uwsgi 替换 gunicorn。它速度更快,内存效率更高,与 nginx 顺利集成,最重要的是:如果连接断开,它将立即终止请求处理程序,这样 F5 垃圾邮件就无法终止您的服务器。
【讨论】: