Nginx做反向代理,后端是Tomcat,通過瀏覽器訪問時部分文件加載失敗,提示:
ERR_CONTENT_LENGTH_MISMATCH
經檢查原來是Nginx的工作進程對大文件做了緩存,這個緩存在 %nginx%/proxy_temp 目錄下,主進程在讀取緩存的時候由於權限問題而無法訪問,從而導致以上異常。
1、查看Nginx運行進程,確認運行用戶為“tomcat”;
ps –ef|grep nginx
2、檢查proxy_temp目錄所屬用戶,nginx 默認的工作者用戶就是nobody;
ll proxy_temp
3、停止nginx並將nginx目錄權限設置為“tomcat”用戶;
./nginx -s stop chown -R tomcat:tomcat nginx
4、修改%nginx%/conf/nginx.conf配置,在worker_processes 前添加:user tomcat;
5、重啟nginx即可。