Nnginx調優

nginx調優:javascript

	main 	全局設置					全部區域都生效
	server 	主機設置					
	uptream	負載均衡服務器設置		設置後端服務器的
	location	URL匹配特定位置的設置	匹配網頁
關係:
	server繼承main
	location繼承server
       upstream既不傳也不繼承

 

調整內核參數:css

vim /etc/sysctl.conf  這裏面調
net.ipv4.tcp_max_tw_buckets = 6000             //時間等待計時器(堅持,保活,重傳) net.ipv4.ip_local_port_range = 1024 65000        //開啓隨機端口的數量32768-65535 net.ipv4.tcp_tw_recycle = 1                 //時間等待計時器加速回收 net.ipv4.tcp_tw_reuse = 1                 //時間等待計時器複用 net.ipv4.tcp_syncookies = 1                //syn溢出用cook處理 net.core.somaxconn = 262144               //同時發起tcp的鏈接數量 net.core.netdev_max_backlog = 262144          //網絡收口接包速度,表示列隊長度 net.ipv4.tcp_max_orphans = 262144            //設置系統中有多鏈接同時鏈接到個人,防止簡單的ddos net.ipv4.tcp_max_syn_backlog = 262144         //還沒有收到客戶端確認消息的鏈接的請求,128M內存=1024 net.ipv4.tcp_synack_retries = 1             //表示內核放棄鏈接以前,syn+ack的包的總量 net.ipv4.tcp_syn_retries = 1              //放棄鏈接以前syn的總量 net.ipv4.tcp_fin_timeout = 1              //最後時間等待計時器的超時時間 net.ipv4.tcp_keepalive_time = 30          //消息發送的頻度(單位:小時)

 

防盜鏈:html

在server模塊下
第一種方法:(zip和rar是必須寫的)
	location ~* \.(jpg|png|gif|flv|zip|rar){
		valid_referers none blocked *.han.com *.han.cn;
		if ($invalid_referer) {
		rewrite ^/ http://www.han.com/img/error.gif;//當引用了個人圖片就把你引到個人錯誤的圖片
		#return 403; //地址重寫
	}
}
第二種方法:
	location /images {
		root /web/www/han.com
		vaild_referers none blocked *.han.com *.han.cn;
		if ($invalid_referer) {
		return 403;
	} 
}

 

Fastcgi調優:前端

  fastcgi的調優必須在http模塊裏面!!!
   fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=1:2 keys_zone=TEST:10minactive=5m;  ///usr/local/nginx/fastcgi_cache 硬盤路徑 leves 目錄結構等級 keys_zone關鍵字存儲的區域 inactive非活動的刪除時間分鐘
   fastcgi_connect_timeout 300;     鏈接到後端的超時時間(防火牆new包)
   fastcgi_send_timeout 300;      完成握手以後已經創建鏈接,傳送請求的時間
   fastcgi_read_timeout 300;      後端服務器收到的應答的時間,沒有迴應
   fastcgi_buffer_size 64k;       應答信息的第一個應答包頭,第二個包開始纔是數據
   fastcgi_buffers 4 64k;        應答請求,請求頁面的大小。PHP產生的頁面256k把這個數據分紅4個64k來存儲; 300k剩下的44k放到fastcgitemp。取中上值
   fastcgi_busy_buffers_size 128k;   當繁忙的時候臨時開一個空間是前面的2倍就能夠
   fastcgi_temp_file_write_size 128k;  寫入緩存文件時緩存快的大小
   指定頁面代碼的緩存時間: 
     fastcgi_cachek TEST;        緩存名稱 表示開啓 
     fastcgi_cache_valid 200 302 1h;   指定應答代碼的緩存時間
     fastcgi_cache_valid 301 1d;     指定應答代碼的緩存時間
     fastcgi_cache_valid any 1m;     指定應答代碼的緩存時間

 

proxy四層代理:動態調優java

location / {
    proxy_next_upstream http_500 http_502 http_503 error timeout invalid_header;
    proxy_redirect off;
    proxy_set_headeer HOST $host;                 #設置後端服務器的真實IP地址
    proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded_For &proxy_add_x-forwarded_for;
     client_body_buffer_size 128k;                   #頁面緩衝區的大小,本地保存的大小
    proxy_connect_timeout 90;                   後端服務器發起握手等候響應的時間
    proxy_rend_timeout 90;                     創建鏈接後等待後端服務器響應時間/後端等候處理的時間
     proxy_sead_timeout 90;                     規定時間內後端服務器必須響應,不然斷開
    proxy_buffer_size 4k;
    proxy_buffers 4 32;                      緩衝區個數和大小
    proxy_busy_buffers_size 64k;                 系統繁忙時buffer的臨時大小,官方要求proxy_buffers*2
    proxy_temp_file_write_size 64;                 proxy臨時文件的大小
}

  

Gzip:python

#傳遞數據的時候須要打個包,這樣會讓零碎的數據打包成一個包,增長咱們的傳輸速度
#--http_gzip_static_module   加這個模塊就能夠實現數據的整合和打包
    gzip  on;
        gzip_min_length 1k;			#設置壓縮的頁面你的最小字節數(公司頁面最小值就行)
        gzip_buffers 4 16k;			#表示申請4個16k空間來壓縮的緩存
        gzip_http_version 1.1;		     #用來識別http的版本
        gzip_comp_level 2;			#用來指定gzip壓縮級別(1最小壓縮比率 效率高,9最大壓縮比率,效率低)
        gzip_types text/plain application/x-javascript text/css application/xml;	#用來指定壓縮類型(默認使用的html類型)
        gzip_vary on;				#讓前端緩存服務器緩存,通過壓縮後的數據(Varnish,Nginx-cache,Squid)

 

events模塊:linux

events {
	worker_connections  8192;		#nginx 中每一個進程最大的處理鏈接數量 只能是2的次方數 
	use epoll				#使用epoll網絡模型

}
     網絡模型:
	epoll:linux內核爲處理大批量文件描述符
	select \poll	標準模式
	kqueue \poll	高性能模式	BSD用kqueue	linux用poll
	rtsin\ /dev/poll	高性能模式
相關文章
相關標籤/搜索