Nginx的負載均衡nginx
Nginx是一款高性能的http 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器。由俄羅斯的程序設計師Igor Sysoev所開發,官方測試nginx可以支支撐5萬併發連接,而且cpu、內存等資源消耗卻很是低,運行很是穩定。web
一、http服務器。Nginx是一個http服務能夠獨立提供http服務。能夠作網頁靜態服務器。
二、虛擬主機。能夠實如今一臺服務器虛擬出多個網站。例如我的網站使用的虛擬主機。
三、反向代理,負載均衡。當網站的訪問量達到必定程度後,單臺服務器不能知足用戶的請求時,須要用多臺服務器集羣可使用nginx作反向代理。而且多臺服務器能夠平均分擔負載,不會由於某臺服務器負載高宕機而某臺服務器閒置的狀況。vim
負載均衡策略主要是如下三種:後端
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完成後,分別在兩臺機器上配置主頁,可是兩臺服務器的主頁內容不一樣,以便區分負載。負載均衡
設置test02和03的主頁性能
3.開始設置負載均衡
編輯負載均衡服務器的主配置文件
vim /usr/local/nginx/conf/nginx.conf測試
在http裏面,server外面定義後端服務器組用來作負載均衡(負載均衡能夠將自身也做爲web服務器輪詢)。在server中引用定義的後端服務器組。
僅僅是做爲普通輪詢直接填寫後端服務器IP地址便可,若是須要按照不一樣服務器的性能分配不一樣的權重,可在服務器後面加上權重。或者設置爲IP hash。以下圖:
加入權重的配置。保證充分利用服務器的性能。
IP hash的配置
保證在短期內,同一個客戶端的請求不被分配到其餘的nginx-server上
IP hash的配置
保證在短期內,同一個客戶端的請求不被分配到其餘的nginx-server上
保存退出,從新加載nginx。
nginx –s reload
訪問負載均衡服務器,查看是否產生正常的輪詢訪問(爲了直觀對比使用命令行訪問)
訪問負載均衡服務器,產生不一樣的訪問結果,對應兩臺後端服務器,說明負載均衡搭建成功。
本文做者:彭銳
閱讀原文本文爲雲棲社區原創內容,未經容許不得轉載。