如果傳統Tomcat+jsp方式的話,這里存在三種可能:
第一種Tomcat的磁盤空間已滿,查看是否因為日志過多導致;
第二種Tomcat配置請求頭過於小,而jsp頁面數據量超過Tomcat閾值,則響應不全導致,解決方法是點擊此處,我們在Tomcat的conf文件夾里找到server.xml文件。在我們平時設置服務器的端口號配置里進行配置請求頭;
第三種則可能是jsp上的變量為空報錯導致的;這個時候只能查看jsp頁面的變量逐步刪除法排除,就是刪除<% 變量 %> 這些代碼。刪除一次,頁面記得清緩存,查看是否顯示正常;
第三種情況是出現最多的,着重注意第三種
如果使用了NGINX部署方式的話,點擊此處,
錯誤原因分析:
1.nginx配置緩存區設置過小
2.nginx的臨時目錄(/proxy_temp)過大或沒有權限寫入緩存文件
解決辦法:
在nginx中的對應的反向代理配置如下內容,即可解決:
proxy_buffer_size 1024k;
proxy_buffers 16 1024k;
proxy_busy_buffers_size 2048k;
proxy_temp_file_write_size 2048k;
我的反向代理完整配置:
location /forecast {
proxy_pass http://127.0.0.1:9999/;
proxy_buffer_size 1024k;
proxy_buffers 16 1024k;
proxy_busy_buffers_size 2048k;
proxy_temp_file_write_size 2048k;
}
問:nginx的緩沖區作用是什么?
答:如果客戶端到nginx速度快,nginx到服務器速度慢,沒有緩沖區,一點點數據量就直接發到客戶端,十分浪費性能。
有了緩沖區,積累到一定量,再傳輸到客戶端,減少了Tcp請求。
相反,客戶端到nginx速度慢,nginx到服務器速度快,沒有緩沖區,
nginx到服務器的連接就會一直保持在那邊,直到客戶端接受完畢。
有了緩沖區,返回內容放到緩沖區后,nginx到服務器的連接就能斷開了,客戶端從緩沖區拉取即可。