nginx的負載均衡

Nginx的負載均衡nginx

一.Nginx簡介

Nginx是一款高性能的http 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器。由俄羅斯的程序設計師Igor Sysoev所開發,官方測試nginx可以支支撐5萬併發連接,而且cpu、內存等資源消耗卻很是低,運行很是穩定。web

二.Nginx應用場景

一、http服務器。Nginx是一個http服務能夠獨立提供http服務。能夠作網頁靜態服務器。
二、虛擬主機。能夠實如今一臺服務器虛擬出多個網站。例如我的網站使用的虛擬主機。
三、反向代理,負載均衡。當網站的訪問量達到必定程度後,單臺服務器不能知足用戶的請求時,須要用多臺服務器集羣可使用nginx作反向代理。而且多臺服務器能夠平均分擔負載,不會由於某臺服務器負載高宕機而某臺服務器閒置的狀況。vim

三.今天的實驗主要是nginx來做爲負載均衡服務器,同時實驗中須要用nginx做爲web服務器。

負載均衡策略主要是如下三種:後端

1.輪循           每一個請求逐個分發到後端服務器
2.加權輪循         按照分配的權重將請求分發到後端服務器
3.ip hash         輪詢的基礎上,保持一個客戶端屢次請求分發到一臺後端服務器上

實驗環境:
三臺虛擬機:192.168.100.3 (負載均衡器) nginx-test01centos

192.168.100.4    (web服務器)    nginx-test02
 192.168.100.5    (web服務器)    nginx-test03

操做系統:centos 7.3服務器

具體操做:
1.如今每臺虛擬機上安裝nginx,先下載安裝包,而後逐個安裝。併發

tar zvxf nginx-1.8.1.tar.gz 解壓縮安裝包
cd nginx-1.8.1 進入解壓目錄
./configure--prefix=/usr/local/nginx--user=nginx--group=nginx --with-http_stub_status_module --with-http_ssl_module 編譯
make && make install 安裝

編譯過程當中,可能由於環境的不一樣缺乏部分包,需手動yum安裝
2.先安裝nginx完成後,分別在兩臺機器上配置主頁,可是兩臺服務器的主頁內容不一樣,以便區分負載。負載均衡

clipboard.png

設置test02和03的主頁性能

clipboard.png

clipboard.png

3.開始設置負載均衡
編輯負載均衡服務器的主配置文件
vim /usr/local/nginx/conf/nginx.conf測試

clipboard.png

clipboard.png

在http裏面,server外面定義後端服務器組用來作負載均衡(負載均衡能夠將自身也做爲web服務器輪詢)。在server中引用定義的後端服務器組。

僅僅是做爲普通輪詢直接填寫後端服務器IP地址便可,若是須要按照不一樣服務器的性能分配不一樣的權重,可在服務器後面加上權重。或者設置爲IP hash。以下圖:
加入權重的配置。保證充分利用服務器的性能。

clipboard.png

IP hash的配置
保證在短期內,同一個客戶端的請求不被分配到其餘的nginx-server上

clipboard.png

IP hash的配置
保證在短期內,同一個客戶端的請求不被分配到其餘的nginx-server上

保存退出,從新加載nginx。
nginx –s reload

clipboard.png

訪問負載均衡服務器,查看是否產生正常的輪詢訪問(爲了直觀對比使用命令行訪問)

clipboard.png

訪問負載均衡服務器,產生不一樣的訪問結果,對應兩臺後端服務器,說明負載均衡搭建成功。

本文做者:彭銳
閱讀原文本文爲雲棲社區原創內容,未經容許不得轉載。

相關文章
相關標籤/搜索