windows配置nginx實現負載均衡集群 -請求分流


windows配置nginx實現負載均衡集群

一、windows上安裝nginx

1、下載nginx的windows版本http://nginx.org/en/download.html

2、把壓縮文件解壓至c盤根目錄,並將文件夾重命名成nginx

3、在conf目錄下的nginx.conf文件中,指定一個不沖突的端口號,這里測試用8088,代碼段如下:

server { 
     listen       8090; 
     server_name  localhost; 
} 

4、打開cmd命令行,運行如下命令:start nginx.exe

1. >cd c:\nginx 
2. >nginx 

好了,試試吧,打開瀏覽器,輸入127.0.0.1:8090,如果出現下圖,那就說明nginx服務器已經成功安裝.

二、配置nginx負載均衡

1、打開conf目錄下的nginx.conf,具體配置代碼如下:

#nginx進程,一般設置為和cpu核數一樣
worker_processes  1;

#全局錯誤日志及PID文件
error_log  logs/error.log;
pid        logs/nginx.pid;

#工作模式及連接數上限
events {
    use   epoll;             #epoll是多路復用IO(I/O Multiplexing)中的一種方式,但是僅用於linux2.6以上內核,可以大大提高nginx的性能
    worker_connections  1024;#單個后台worker process進程的最大並發鏈接數
    # multi_accept on; 
}

#設定http服務器,利用它的反向代理功能提供負載均衡支持
http {
    include       mime.types;#文件擴展名與類型映射表
    default_type  application/octet-stream;#默認文件類型
    access_log    logs/access.log; #設定日志格式
	sendfile	  on; #開啟高效傳輸模式   	
	#連接超時時間 單位是秒
    keepalive_timeout  65;
    tcp_nodelay        on;
    #開啟gzip壓縮
    gzip  on;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";
	#設定請求緩沖
    client_header_buffer_size    1k;
    large_client_header_buffers  4 4k;
    
	#設定負載均衡的服務器列表
	upstream leizi { #weigth參數表示權值,權值越高被分配到的幾率越大
		server 10.204.3.223:8090 weight=1 max_fails=2 fail_timeout=30s;#真實服務器A
		server 10.204.3.20:8090 weight=1 max_fails=2 fail_timeout=30s;#真實服務器B #這里是在30s內嘗試2次失敗即認為主機不可用!
    }
	#基於域名的虛擬主機
    server {#Nginx代理服務器 
        listen       8090;
        server_name  localhost;
        access_log  logs/localhost.access.log  main;#設定本虛擬主機的訪問日志
		#默認請求
		location / {
			root   html; #站點根目錄,即網站程序存放目錄 
			index  index.html index.htm index.php;  #首頁排序

			proxy_pass  http://leizi; #請求轉向leizi定義的服務器列表
			proxy_redirect  default; 
		}
		# 定義錯誤提示頁面
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
		#靜態文件,nginx自己處理
		location ~ ^/(images|javascript|js|css|flash|media|static)/ {
			root html;
			#過期30天,靜態文件不怎么更新,過期可以設大一點,如果頻繁更新,則可以設置得小一點。
			expires 30d;
		}
		#location 標簽,根目錄下的.svn目錄禁止訪問
		location ~ /.svn/ {
		 deny all;
		}
	    #設定查看Nginx狀態的地址
		location /NginxStatus {
			stub_status            on;
			access_log              on;
			auth_basic              "NginxStatus";
			auth_basic_user_file  conf/htpasswd;
		}
    }
}

2、重啟一下nginx吧,你可以在任務管理器中將原來的兩個nginx進程結束然后按前面安裝時的方法啟動nginx,也可以直接輸入命令:nginx -s reload來重啟

三、部署網站

1、准備兩個完全一樣的ASP.NET測試網站程序,

2、分別放在leizi服務器列表的IIS中,輸入對應的ip地址試一下是否可用訪問。

3、訪問代理服務器 127.0.0.1:8090 訪問結果是每刷新一次就在leizi列表之間切換。

四、總結:

​ 訪問代理服務器 127.0.0.1:8090 訪問結果是每刷新一次就在leizi列表之間切換 這樣就起到了簡單的輪詢訪問的效果,一定程度上起到了負載分流的作用至此,windows配置nginx實現負載均衡集群已經完成。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM