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頁面