python+django+nginx+uwsgi环境解决timeout 504

2015 年 1 月 2 日13:13:15 评论 11,262 views

本人的运维系统是用python+django开发而已,跑在nginx+uwsgi环境上

系统有部分功能是更新游戏程序等,如果文件多或大的时候,可能需要等待时间比较长,如果nginx使用默认的配置,一般是60秒就会出现timeout 504,如果系统在60秒没有返回结果时,就被timeout 504,会影响到系统的使用。

这里简单介绍如何修改nginx.conf配置文件,防止timeout 504:

  1. fastcgi_connect_timeout 300;  
  2. fastcgi_send_timeout 300;  
  3. fastcgi_read_timeout 300;  
  4. fastcgi_buffer_size 256k;         #以下四个参数已加大,如果设置太小也会出现timeout 504
  5. fastcgi_buffers 16 256k;  
  6. fastcgi_busy_buffers_size 512k;  
  7. fastcgi_temp_file_write_size 512k;  
  8. server {
  9.         listen  8002;
  10.         server_name localhost;
  11.         location / {
  12.             include     uwsgi_params;
  13.             uwsgi_pass   127.0.0.1:9001;
  14.             uwsgi_param UWSGI_CHDIR  /python/owork;
  15.             uwsgi_param UWSGI_SCRIPT django_wsgi;
  16.             access_log /data/logs/uwsgi_access.log;
  17.             uwsgi_read_timeout 1800;  
  18.             uwsgi_send_timeout 300;  
  19.             proxy_read_timeout 300;  
  20.             }
  21.     location ^~ /static {
  22.         alias /python/owork/pro/static/;
  23.         }
  24.     }

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: