Linux Nginx雙機熱備及負載均衡羣集配置(1主Nginx服務器、1備Nginx服務器、2tomcat服務器、1客戶機)

Nginx簡介-服務器特性  一款高性能、輕量級web服務軟件

穩定性高

系統資源消耗低

對HTTP併發連接的處理能力高

 

正向代理(Proxy)

代理服務器代理內部網絡對Internet的連接請求

如果緩存服務器中已經有該網址

 

反向代理(Reverse Proxy)

代理服務器代理外部Internet主機對內部網絡的連接請求

Nginx反向代理無緩存功能

 

負載均衡(LoadBalance)

將訪問流量分配到多臺服務器進行負載分擔的服務

消除單點故障

提示服務性能

Nginx負載均衡算法

round-robin(輪詢)

weighted(權重)

least-connected(最少連接數)

ip-hash(IP哈希)

 

雙機熱備keepalived功能模塊

core

keepalived的核心 負責主進程的啓動、維護以及全局配置文件的加載和解析

check

負責後端服務器池中主機的健康情況檢查

vrrp

實現VRRP協議(Virtual Router Redundancy Protocol)

實現雙機熱備功能

 

備份方式

一主(master)多備(backup)

共用同一個虛擬IP地址(VIP) 但優先級不同

 

配置文件keepalived.conf

樣例文件位於/etc/keepalived/samples/....

global_defs{           //全局配置

     ...

}

vrrp_instance VI_1{        //定義熱備份實例

     ...

}

 

項目案例環境

 

項目案例拓撲

 

案例基本環境配置

1、克隆5臺虛擬機(4臺RHEL6.5 64位服務器、1臺Windows 7客戶機)

2、配置5臺虛擬機的IP地址、主機名(參照案例環境完成)

3、關閉4臺Linux服務器的iptables防火牆、selinux

4、開啓4臺Linux服務器的本地yum功能

5、測試5臺主機間的連通性

 

克隆5臺虛擬機(4臺RHEL6.5 64位服務器、1臺Windows 7客戶機)

 

配置5臺虛擬機的主機名

重啓後生效

 

配置IP地址

 

關閉4臺Linux服務器的iptables防火牆、selinux

 

開啓4臺Linux服務器的本地yum功能

 

測試5臺主機間的連通性

win7客戶端的IP配置

五臺主機相互之間都能ping通

 

從物理機複製文件到虛擬機

虛擬機開啓服務

物理機訪問並上傳文件

 

虛擬機獲取到

 

其他虛擬機獲取文件

 

Nginx服務器的配置(主、備服務器上分別完成)

安裝Nginx所需的支持包

 

創建運行Nginx程序的系統用戶賬戶www 並指定其登陸shell爲/bin/false

 

解壓nginx軟件包

 

進入nginx的解壓目錄

 

配置nginx

 

# --prefix=... 指定nginx的安裝路徑

# --user=...,--group=... 指定運行nginx程序的用戶賬戶和組賬戶

# --with-file-aio 啓用文件修改支持功能

# --with-http_stub_status_module 啓用狀態統計功能

# --with-http_gzip_static_module 啓用gzip靜態壓縮功能

# --with-http_flv_module 啓用flv模塊,提供尋求內存使用基於時間的偏移量文件

# --with-http_ssl_module 啓用SSL模塊

 

編譯nginx 生成二進制安裝文件

 

安裝nginx

 

測試nginx的配置文件是否正確

 

啓動nginx

停止nginx服務(殺死nginx工作進程)

kill $(cat /usr/local/nginx/logs/nginx.pid)

 

要重啓nginx服務,按如下操作進行:

kill $(cat /usr/local/nginx/logs/nginx.pid)

/usr/local/nginx/sbin/nginx

 

查看服務進程

 

查看nginx程序的默認端口80

 

測試網頁

 

部署節點服務器(在兩臺Tomcat服務器上分別完成)

卸載Linux系統自帶的jdk

 

解壓jdk軟件包

 

移動解壓後的jdk至/usr/local中 並重命名目錄名爲java

 

修改java的環境變量

 

重新加載環境變量

 

查看jdk版本

 

解壓Tomcat軟件包

 

移動解壓後的tomcat到/usr/local 並重命名目錄名爲tomcat7

 

啓動tomcat服務

查看tomcat的運行端口8080

 

測試默認頁面

 

建立測試頁

Tomcat1服務器WebSrv1上建立

 

Tomcat2服務器WebSrv2上建立

 

測試index.jsp頁面

 

配置負載均衡功能(在主、備Nginx服務器上分別完成)

配置負載均衡功能

 

測試nginx配置文件是否正確

 

重啓服務

 

查看nginx服務進程

 

查看nginx程序的默認端口

 

測試Nginx分負載均衡功能

win7客戶機上分別訪問192.168.113.1和192.168.113.2  能看到兩個不同的java頁面

 

部署keepalived(主、備Nginx服務器上分別完成)

安裝keepalived的支持軟件

 

安裝羣集管理工具ipvsadm

 

解壓keepalived軟件包

 

配置keepalived

# --prefix=... 指定安裝路徑

# --with-kernel-dir=... 指定Linux系統內核目錄路徑

 

編譯keepalived

 

安裝keepalived軟件包

 

#/etc/init.d/keepalived

#chkconfig --add keepalived

#chkconfig keepalived on

 

建立配置文件keepalived.conf

主Nginx服務器

 

備份的Nginx服務器

 

將keepalived服務添加到開啓自啓動項中

 

設置當前系統中的keepalived服務爲開啓狀態

 

啓動keepalived服務

 

查看主Nginx服務器網卡的虛擬IP地址

 

測試雙機熱備功能

win7上不停ping 192.168.113.254(羣集IP)

 

主機正常時

Nginx服務器可以看到羣集地址

 

備份Nginx服務器看不到羣集地址

 

主設備異常(故障)

在主Nginx服務器上執行

 

在備份Nginx服務器上可以看到羣集地址

 

可以看到win7的ping請求超時了三個包後恢復正常

 

修復主設備

在主Nginx服務器上執行

 

在備份Nginx服務器上執行 備份設備交出控制權給主設備

 

win7的包丟了三個

 

win7測試網頁 訪問羣集IP地址

兩個窗口都訪問192.168.113.254 能看到2個不同的java頁面

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章