要求:
1、使用nginx的反向代理功能實現負載均衡
2、keepalived實現高可用
???????第一組的虛擬地址為172.16.1.100
????????????D設備的優先級高
???????第二組的虛擬地址為172.16.1.110
????????????E設備的優先級高
3、分別實現主/從和主/主兩種配置
集群拓撲:
? ? ?
第一種:主/從配置
所有配置之前先在各個主機上進行時間同步
?ntpdate 時間服務器地址
一、后端real server(A、B、C)配置
???1、在A、B、C三臺主機上安裝httpd包
????yum install httpd
???2、配置虛擬主機
???????vim /etc/httpd/conf.d/vir.conf
??????A主機:
? ? ? ?
? ? ?B主機
? ? ? ?
? ? ?C主機
? ? ? ??
? ?3、創建三主機的URL 目錄及主頁面
???A主機
?????mkdir ?-pv /data/web/
?????????vim /data/web/index.html
?????????內容為 This is Vhost1
???B主機
?????mkdir ?-pv /data/web/
?????????vim /data/web/index.html
?????????內容為 This is Vhost2
???C主機
?????mkdir ?-pv /data/web/
?????????vim /data/web/index.html
?????????內容為 This is Vhost3
注意:三主機主頁面不同,是為了后面實驗來區分不同的real server
啟動httpd服務: systemctl ?start ?httpd.service
二、配置負載均衡節點
? ? ? ? ?D(此主機為MASTER)
? E(此主機為BACKUP)主機
? 利用nginx的ngx_http_upsteam_module模塊實現負載均衡
1、安裝nginx包
? ? ? ? ? ??在D、E主機上分別安裝
? ? ? ? ? ? yum install nginx
2、配置負載均衡
? ? ? ? ? ?在D、E主機上分別安裝
???vim /etc/nginx/nginx.conf
???定義websvr組:
????upstream websvr {
??????????server 192.168.70.137:80;
??????????server 192.168.70.138:80;
??????????server 192.168.70.140:80;
?????????}
???反向代理組 websvr
???????location / {
?????????????proxy_pass http://websvr;
????????}
? ??
三、配置keepalived服務
? ? ? 1、全局配置
??主機D上
??
? ? ? ? ?主機E上配置
? ? ? ? ?
? ? ?2、分別在兩個主機上定義腳本 chk_down
? ? ? ? ?此腳本的功能:
? ? ? ? ? ??文件 /etc/keepalived/down 存在時:虛擬IP轉義到另一個節點
? ? ? ? ?vrrp_script chk_down {
? ? ? ? ? ? ? script “[[ -f /etc/keepalived/down ]] && exit 1 || exit 0”
? ? ? ? ? ? ? ?interval 1
? ? ? ? ? ? ? ?weight -10
? ? ? ? ? ? }
? ? ? 3、分別在兩個主機上定義腳本 chk_ngx
? ? ? ? ?此腳本功能:
? ? ? ? ? ?確認nginx服務是否正運行
? ? ? ? ? vrrp_script chk_ngx {
? ? ? ? ? ? ? script “killall -0 nginx && exit 0 || exit 1”
? ? ? ? ? ? ? interval 1
? ? ? ? ? ? ??weight -10
? ? ? ? ? ? ? fall 2
? ? ? ? ? ? ? rise 1
? ? ? ? ? }
? ? ? ? ??
? ? ? 4、vrrp_instance配置
? ? ? ? ?D主機
? ? ? ? ?
? ? ??? E主機
? ? ? ??
? ? ?5、創建notify警告配置腳本
? ? ? ? ?分別在兩個主機上創建
? ? ? ? ?vim ?/etc/keepalived/notify.sh
? ? ? ? ??
? ? ? ? ?chmod +x notify.sh 給予此腳本執行權限
6、啟動服務
??systemctl start keepalived.service
四、測試
??1、不做修改時,即主機D上沒有/etc/keepalived/down文件
? ? ? (1)、查看虛擬IP位置
? ? ? ? ? ??在主機D上(此主機為MASTER)
? ? ? ? ? ? ?
? ? 在主機E上(此主機為BACKUP)
? ? ?
通過對比可以看到虛擬IP在D主機上
????(2)、查看nginx是否啟動
?????通過腳本/etc/keepalived/notify.sh可以看到哪臺主機成為MASTER狀態,哪臺主機就自動啟動nginx服務
????主機D
? ??
????主機E
? ??
通過對比可以知道主機D上的nginx服務啟動,而主機E上的nginx服務為啟動
(3)訪問URL
?????curl ?http:/172.16.1.10
? ? ?
? ? ?2、在主機D上創建/etc/keepalived/down文件
? ? ? ? ?touch ?/etc/keepalived/down
? ? ? ? (1)、查看虛擬IP位置
? ? ? ? ? ??在主機D上(此主機為MASTER)
? ? ? ? ? ??
?在主機E上(此主機為BACKUP)
? ? ? ? ? ??
?通過對比可以看到虛擬IP在E主機上
? ? ?(2)、查看nginx是否啟動
??????主機D
? ? ? ? ? ?
? ? ? ? ? ? ?主機E上
? ? ? ? ??
???????通過對比可以知道主機E上的nginx服務啟動,而主機D上的nginx服務為啟動
(3)訪問URL
?????curl ?http:/172.16.1.100
? ? ? ? ?
? ? ? ? ?能正常訪問,現實了高性能
第二部分實現主/主配置
一、增加配置在D、E主機上
????1、 在原有的配置基礎上增加一個vrrp_instance配置
????????在主機D上配置
? ? ? ?
? ? ? ??在主機E上配置
? ? ? ?
? ? 2、修改警告配置腳本
??????將backup時停止nginx服務改為啟動nginx服務
? ? ? ?
二、檢測
???1、不做修改時,即主機D和E上都沒有/etc/keepalived/down文件
?????(1)、查看虛擬IP位置
? ? ??在主機D上
? ? ??
?????在主機E上
? ? ??
通過對比看到:
????虛擬IP:172.16.1.100在主機D上
? ? ? ? ? ?虛擬IP:172.16.1.110在主機E上
?????(2)查看nginx服務狀態
? ? ? ? ??主機D、E的nginx服務都處于啟動狀態
? ? ? ? ??
? ? ?(3)訪問URL
??????curl ?http:/172.16.1.100
? ? ? ? ? ?
? ? ?curl ?http:/172.16.1.110
? ? ? ? ? ? ?
? ? ? ??? ?能正常訪問,現實了高性能
????2、在主機D上創建/etc/keepalived/down文件
? ? ? ??(1)、查看虛擬IP位置
? ? ? ? ? ? 在主機D上
? ? ? ? ? ?
? ? ? ? ?在主機E上
? ? ? ? ? ?
通過對比看到:
????虛擬IP:172.16.1.100在主機E上
? ? ? ? ? ?虛擬IP:172.16.1.110在主機E上
?????(2)查看nginx服務狀態
? ? ? ? ??主機D、E的nginx服務都處于啟動狀態
? ? ? ? ?
? ? ?(3)訪問URL
??????curl ?http:/172.16.1.100
? ? ? ? ? ??
? ? ?curl ?http:/172.16.1.110
? ? ? ? ? ? ?
? ? ? ? ??? ?能正常訪問,現實了高性能
????3、在主機E上創建/etc/keepalived/down文件
? ? ? ????(1)、查看虛擬IP位置
? ? ? ? ? ? 在主機D上
? ? ? ? ? ?
? ? ? ? ? ? 在主機E上
? ? ? ? ? ?
通過對比看到:
????虛擬IP:172.16.1.100在主機D上
? ? ? ? ? ?虛擬IP:172.16.1.110在主機D上
?????(2)查看nginx服務狀態
? ? ? ? ??主機D、E的nginx服務都處于啟動狀態
? ? ? ? ?
? ? ?(3)訪問URL
??????curl ?http:/172.16.1.100
? ? ? ? ? ??
? ? ?curl ?http:/172.16.1.110
? ? ? ? ? ? ?
? ? ? ? ??? ?能正常訪問,現實了高性能
原創文章,作者:zq,如若轉載,請注明出處:http://www.www58058.com/78548