發(fā)布:thebaby 來源:net 【 】
使用一臺nginx作前端負載,來減輕后端apache服務(wù)器的壓力。
使用一臺
nginx作前端負載,來減輕后端
apache服務(wù)器的壓力。
nginx.conf 的主要參考
server_names_hash_bucket_size 128;##用于制定服務(wù)器名稱哈希表的框大小,默認取決于cpu緩存
limit_zone one $binary_remote_addr 10m;#定義一個叫one的記錄區(qū),容量為10m,一遍量$binary_remote_addr 作為繪畫判斷的基準。
limit_conn one 1;#也可以寫道location里one為上面定義的記錄區(qū),一個會話只能進行一個連接
limit_req_zone $binary_remote_addr zone=one2:10m rate=1r/s;#限制了每秒只接受一個ip一次請求“請求數(shù)/秒 (r/s)
limit_req zone=one2 burst=5; ## 也可以在location里設(shè)置最大的突發(fā)請求數(shù)
ignore_invalid_headerson;
recursive_error_pages on;
server_name_in_redirect off;
if_modified_since exact; ##主要用來expires的時間修改
sendfile on;##用于數(shù)據(jù)拷貝在兩個文件描述符之間的操作函數(shù)。
#timeouts
keepalive_timeout 60;
#TCP Options
tcp_nopush on;###只在sendfile開起的時候有用,是否允許使用tcp_cork 套接字
tcp_nodelay on;
#fastcgi options
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_cache_path /var/www/tmp/fastcgi_cache_path levels=1:2keys_zone=fastcgi_cache:500m inactive=30m max_size=10000M;
fastcgi_temp_path /var/www/tmp/fastcgi_temp_path;
fastcgi_cache_methods GET HEAD;#緩存的信息
fastcgi_cache_min_uses 3;#最小使用
#fastcgi_cache fastcgi_cache;
fastcgi_cache_valid 200 302 20m; #狀態(tài)碼200 302 緩存20分鐘
fastcgi_cache_valid 301 1h;#301緩存一個小時
fastcgi_cache_valid any 20m;#其他說有緩存20分中
fastcgi_cache_key 127.0.0.1:9000$request_uri;#用來設(shè)置被緩存的key
fastcgi_buffer_size 128k;####設(shè)置服務(wù)器相應(yīng)頭部緩沖區(qū)大小
fastcgi_buffers 4 128k;#設(shè)置fastcgi進程返回信息的緩沖區(qū)數(shù)量和大小,
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
fastcgi_intercept_errors on;###用來是否把客戶端4xx和5xx 錯誤頁或允許nginx自動制定錯誤頁
#size limits
client_max_body_size50m;允許客戶端請求的最大的單個文件字節(jié)數(shù)
client_body_buffer_size 256k; 緩沖區(qū)代理緩沖用戶客戶端請求的最大字節(jié)數(shù),可以理解為先保存到本地在傳給用戶
client_body_timeout 60;#設(shè)置讀取客戶端請求內(nèi)容的超時時間
client_header_buffer_size 1k;#用戶設(shè)置客戶端請求的header頭緩沖區(qū)大小
large_client_header_buffers 4 32k;#最大緩存客戶端請求header 大小
#gzip compression
gzip on; #啟動
gzip any;無條件啟用壓縮,其中這里有幾個選項我就不寫了
gzip_min_length 0;#允許壓縮最小字節(jié)數(shù),默認0不管多大都壓,建議設(shè)置成大于1k,小于1k,越壓越大,
gzip_buffers 16 8k;
gzip_http_version 1.0;#早期的客戶端可能不支持gzip 打開是亂碼,啟用后可防止這一問題
gzip_comp_level 9;#壓縮級別1-9 9為最高
gzip_typestext/plain text/css image/x-icon image/png;#匹配類型壓縮
gzip_vary on; #vary頭信息 是cache明中率殺手可以考慮注釋
#temp files
proxy_temp_path /var/www/tmp/proxy_temp_path;
#fastcgi_temp_path/var/www/tmp/fastcgi_temp;
client_body_temp_path/var/www/tmp/client_body_temp;###用戶存放請求內(nèi)容的臨時文件
#client_body_temp_path /usr/local/nginx8/client_body_temp 1 2;
#proxy_temp_path/usr/local/nginx8/proxy_temp 1 2;
#fastcgi_temp_path/usr/local/nginx8/fastcgi_temp 1 2;
#proxy
proxy_buffering on;
proxy_buffer_size 16k; #代理請求緩存去,保存用戶的信息以供nginx進行規(guī)則處理
proxy_buffers 4 32k;#nginx保存單個的幾個buffer 及最大用多大空間
proxy_busy_buffers_size 64k;##如果系統(tǒng)很忙的時候可以申請更大的,推薦*2
proxy_temp_file_write_size 64k;##緩存臨時文件大小
proxy_cache_min_uses 3;
proxy_cache_path /var/www/tmp/proxy_cache_path levels=1:2 keys_zone=cache:500m inactive=30m max_size=10000M;#緩存
proxy_cache_valid any 10m;
proxy_cache_methods GET HEAD;
proxy_cache_key "$host:$server_port$uri$is_args$args";
proxy_ignore_client_abort off;
proxy_intercept_errors on;
proxy_next_upstream error timeout invalid_header;
proxy_redirect off;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_connect_timeout 60; #跟后端服務(wù)器連接的超市時間=發(fā)起握手等候響應(yīng)超時時間。
proxy_send_timeout 60;#后端服務(wù)器數(shù)據(jù)回收時間=就是在規(guī)定時間之后后端服務(wù)器必須傳完所有數(shù)據(jù)
proxy_read_timeout 60;##連接成功后=等候后端服務(wù)器響應(yīng)時間=就是進入等待了
虛擬主機參考:
在locotion 里加上一句:
proxy_cache cache;
本文地址:http://www.jbxue.com/article/3760.html