Nginx負載均衡服務器: IP:192.168.0.4(Nginx-Server)html
Web服務器列表:nginx
Web1: 192.168.0.5(Nginx-Node1/Nginx-Web1)web
Web2:192.168.0.7(Nginx-Node2/Nginx-Web2)算法
實現目的:用戶訪問Nginx-Server時,經過Nginx負載均衡到Web1和Web2服務器。vim
Nginx負載均衡服務器的nginx.conf後端
配置註釋以下:緩存
events { use epoll; worker_connections 65535; } http { ##upstream的負載均衡,四種調度算法## #調度算法1:輪詢.每一個請求按時間順序逐一分配到不一樣的後端服務器, #若是後端某臺服務器宕機,故障系統被自動剔除,使用戶訪問不受影響 upstream webhost { server 192.168.0.5:6666 ; server 192.168.0.7:6666 ; } #調度算法2:weight(權重).能夠根據機器配置定義權重.權重越高被分配到的概率越大 upstream webhost { server 192.168.0.5:6666 weight=2; server 192.168.0.7:6666 weight=3; } #調度算法3:ip_hash. 每一個請求按訪問IP的hash結果分配,這樣來自同一個IP的訪客固定訪問一個後端服務器, #有效解決了動態網頁存在的session共享問題 upstream webhost { ip_hash; server 192.168.0.5:6666 ; server 192.168.0.7:6666 ; } #調度算法4:url_hash(需安裝第三方插件).此方法按訪問url的hash結果來分配請求, #使每一個url定向到同一個後端服務器,能夠進一步提升後端緩存服務器的效率. #Nginx自己是不支持url_hash的,若是須要使用這種調度算法,必須安裝Nginx 的hash軟件包 upstream webhost { server 192.168.0.5:6666 ; server 192.168.0.7:6666 ; hash $request_uri; } #調度算法5:fair(需安裝第三方插件).這是比上面兩個更加智能的負載均衡算法. #此種算法能夠依據頁面大小和加載時間長短智能地進行負載均衡,也就是根據後端服務器的響應時間來分配請求, #響應時間短的優先分配.Nginx自己是不支持fair的,若是須要使用這種調度算法,必須下載Nginx的upstream_fair模塊服務器
#虛擬主機的配置(採用調度算法3:ip_hash) server { listen 80; server_name mongo.demo.com; #對 "/" 啓用反向代理 location / { proxy_pass http://webhost; proxy_redirect off; proxy_set_header X-Real-IP proxy_add_x_forwarded_for; #如下是一些反向代理的配置,可選. proxy_set_header Host $host; client_max_body_size 10m; #容許客戶端請求的最大單文件字節數 client_body_buffer_size 128k; #緩衝區代理緩衝用戶端請求的最大字節數, proxy_connect_timeout 90; #nginx跟後端服務器鏈接超時時間(代理鏈接超時) proxy_send_timeout 90; #後端服務器數據回傳時間(代理髮送超時) proxy_read_timeout 90; #鏈接成功後,後端服務器響應時間(代理接收超時) proxy_buffer_size 4k; #設置代理服務器(nginx)保存用戶頭信息的緩衝區大小 proxy_buffers 4 32k; #proxy_buffers緩衝區,網頁平均在32k如下的設置 proxy_busy_buffers_size 64k; #高負荷下緩衝大小(proxy_buffers*2) proxy_temp_file_write_size 64k; #設定緩存文件夾大小,大於這個值,將從upstream服務器傳 } } } 配置 192.168.0.4(Nginx-Server)session
建立文件夾準備存放配置文件負載均衡
vim /opt/confs/nginx.conf events { use epoll; worker_connections 65535; } http { upstream webhost { ip_hash; server 192.168.0.5:6666 ; server 192.168.0.7:6666 ; } server { listen 80; server_name mongo.demo.com; location / { proxy_pass http://webhost; proxy_redirect off; proxy_set_header X-Real-IP
proxy_add_x_forwarded_for; proxy_set_header Host $host; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } } } 啓動負載均衡服務器192.168.0.4(Nginx-Server)
配置 192.168.0.5(Nginx-Node1/Nginx-Web1)
建立文件夾用於存放web頁面
vim /opt/html/index.html 編輯內容以下:
配置192.168.0.7(Nginx-Node2/Nginx-Web2)
建立文件夾用於存放web頁面
vim /opt/html/index.html 編輯內容以下: