我用Nginx Django FastCGI跑一個服務,是要處理一個巨大的XML,猶豫檔案太大,處理比較慢,爬到一半就超時了。
我改了Nginx的配置,原來是60,改到120,但看起來像是沒效果,還是60s超時。
location ^~ /api/ { proxy_read_timeout 120; proxy_connect_timeout 120; fastcgi_pass 127.0.0.1:8080; }
還有別的哪裡要改嗎?
黄舟2017-05-16 17:31:42
應該用:
fastcgi_read_timeout 600; fastcgi_send_timeout 600;
這兩個選項.
fastcgi_read_timeout是指fastcgi進程傳送response的整個過程的逾時時間
fastcgi_send_timeout是指nginx程序向fastcgi程序發送request的整個過程的逾時時間
這兩個選項預設都是秒(s),可以手動指定為分鐘(m),小時(h)等.
PHPz2017-05-16 17:31:42
對於這樣花較長事件處理的頁面最好改成異步處理,Nginx的連接時間好像不能超過75秒.
fastcgi_connect_timeout 75; fastcgi_read_timeout 120; fastcgi_send_timeout 120;
http://wiki.nginx.org/HttpFastcgiModu...