nginx 運維手記
阿新 • • 發佈:2018-11-10
nginx 運維手記
今天遇到了一個問題,後端tomcat 執行正常,但是網站一直訪問不了。
nginx 的錯誤日誌一直報如 Nginx: Too Many Open Files
新增配置 worker_rlimit_nofile 30000;
,記得調整 worker_connections
引數,然後 service nginx restart
。
然後又報了另外一個錯誤 Nginx: Connection timed out
,新增如下的配置:
large_client_header_buffers 4 16k;
client_max_body_size 30m;
client_body_buffer_size 128 k;
#proxy_connect_timeout 300;
#proxy_read_timeout 300;
#proxy_send_timeout 300;
#proxy_buffer_size 64k;
#proxy_buffers 4 32k;
#proxy_busy_buffers_size 64k;
#proxy_temp_file_write_size 64k;
fastcgi_connect_timeout 300;
fastcgi_read_timeout 300;
fastcgi_send_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 32k;
fastcgi_busy_buffers_size 64k;
fastcgi_temp_file_write_size 64k;
然後 service nginx restart
。
如果 nginx 的模式是 proxy 的話,就用 proxy 字首的配置,如果是 fastcgi 的模式,就用 fastcgi 字首的配置。
接著又報一個 nginx[warn]:an upstream response is buffered to a temporary
的警告,在此谷歌,然後發現是 Nginx 的 buffer 機制 的問題,參考這篇文章。
可以調整如下配置:
proxy_buffer_size 512k;
proxy_buffers 8 512k;
proxy_busy_buffers_size 512k;
proxy_temp_file_write_size 512k;
將 buffer 大小調大。可以實際去看看請求頁面的大小,去配置,如果 buffer 大於頁面大小,可以調整 proxy_buffers 16 512k;
,然後 service nginx restart
。
Nginx: Too Many Open Files 錯誤和解決方案
nginx 報錯 upstream timed out (110: Connection timed out)解決方案
nginx[warn]:an upstream response is buffered to a temporary 解決