解決 nginx 返回數據不完整的方法


通過PHP請求接口時發現接口的內容輸出沒有完整的返回整個數據,早上只修改了nginx api_metrics插件里的計算response大小的代碼,觀察日志發現一條:

2012/08/28 02:13:05 [crit] 1912#0: *21685 open() "/usr/local/nginx/proxy_temp/8/00/0000000008" failed (13: Permission denied) while reading upstream, client: 59.***.**.***, server: ******.banckle.com, request: "GET /livechat/livechat-backend.do HTTP/1.1", upstream: "http://127.0.0.1:8084/livechat/livechat-backend.do", host: "******.banckle.com"

該目錄無法被nginx的nobody賬戶訪問,那就設置權限唄:

sudo chown -R nobody:nobody /usr/local/nginx/proxy_temp/

刷新瀏覽器,一切正常。

出 現這個問題的原因是nginx里對於小的反向代理請求是使用內存作中轉,對於稍微大一點的,是使用文件系統來做中轉。然后之前調試nginx插件的時候, 為了方便訪問日志等數據就在root下調試的,部分子目錄被nginx刪除后重建,owner變了,所以正式的nginx反而不能訪問了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM