RT,配置參數為
upstream h39_server { server x.x.x.39; } ... location ~ ^/h39 { proxy_redirect off; proxy_pass http://h39:8080; }
小檔案都正常,大檔案可以獲得回傳的頭,200正常,content-length也都有,就是無法讀取數據,阻塞住了。是不是有什麼參數需要指定?
應該是buffer的緣故,增加以下配置就好了
proxy_buffering off;
先查看下x.x.x.39下面nginx的錯誤日誌,如果你沒自訂路徑,則位於/path/to/nginx_install_root/logs目錄下面的error.log。然後根據錯誤來嘗試解決,如果沒打開error log先打開一下。
/path/to/nginx_install_root/logs
不能完全確認是否是以下問題,可以嘗試看看。如果錯誤日誌中發現以下錯誤:
2013/12/19 04:10:26 [crit] 21911#0: *65059 open() "/usr/local/server/nginx/fastcgi_temp/3/58/0000001583" failed (13: Permission denied) while reading upstream, client: 1.93.255.38, server: example.com, request: "GET /js/get_scripts.js.php?token=a08a84b3c2426dcb913c79cc112...
Nginx的fastcgi_temp目錄權限錯誤,nginx子進程(worker process; master進程是root帳號下運行的,但是所有的worker進程是根據nginx設定檔的user帳號下運行的)無法進行寫入。我突然想起不久前曾經改過目錄權限。
知道原因解決就簡單了,我的nginx user設定是www:www,改下fastcgi_temp目錄權限就好了:
chown -R www:www ./fastcgi_temp
樓主這個問題解決了嗎?怎麼處理的
應該是buffer的緣故,增加以下配置就好了
先查看下x.x.x.39下面nginx的錯誤日誌,如果你沒自訂路徑,則位於
/path/to/nginx_install_root/logs
目錄下面的error.log。然後根據錯誤來嘗試解決,如果沒打開error log先打開一下。不能完全確認是否是以下問題,可以嘗試看看。如果錯誤日誌中發現以下錯誤:
問題原因
Nginx的fastcgi_temp目錄權限錯誤,nginx子進程(worker process; master進程是root帳號下運行的,但是所有的worker進程是根據nginx設定檔的user帳號下運行的)無法進行寫入。我突然想起不久前曾經改過目錄權限。
問題解決
知道原因解決就簡單了,我的nginx user設定是www:www,改下fastcgi_temp目錄權限就好了:
樓主這個問題解決了嗎?怎麼處理的