Python Django Nginx Gunicorn=504超时
我正在尝试使用Nginx+Gunicorn在生产服务器上发布Django应用程序。当我在服务器上进行简单的压力测试(按住F5键一分钟)时,服务器返回Python Django Nginx Gunicorn=504超时,python,django,nginx,gunicorn,Python,Django,Nginx,Gunicorn,我正在尝试使用Nginx+Gunicorn在生产服务器上发布Django应用程序。当我在服务器上进行简单的压力测试(按住F5键一分钟)时,服务器返回504网关超时错误。为什么会发生这种情况?此错误仅在用户执行多个并发请求时出现,否则系统将对所有人完全不可用?当您按住F5时: 您已经启动了数百个请求 这些请求已填满您的gunicorn请求队列 请求处理程序没有在连接断开时立即被剔除 您的最新请求被卡在所有以前请求后面的队列中 Nginx超时 对每个人来说 解决方案: 在Nginx中设置限制速
504网关超时
错误。为什么会发生这种情况?此错误仅在用户执行多个并发请求时出现,否则系统将对所有人完全不可用?当您按住F5时:
- 您已经启动了数百个请求
- 这些请求已填满您的gunicorn请求队列
- 请求处理程序没有在连接断开时立即被剔除
- 您的最新请求被卡在所有以前请求后面的队列中
- Nginx超时
- 对每个人来说
- 在Nginx中设置限制速率的bucket,键入IP,这样一个恶意用户就不能向您发送垃圾邮件请求并拒绝您的站点
- 在Nginx中设置一个全局速率限制bucket,这样您就不会过度填充请求队列
- 让Nginx提供一个漂亮的“Reddit正在重载”样式的页面,这样用户就知道这是一个有目的的事件
--timeout
arg like启动它
gunicorn --access-logfile - --workers 3 --timeout 300 --bind unix:/home/ubuntu/myproject/myproject.sock myproject.wsgi:application