nginx和keepalived
為避免受影響所有主機關閉防火牆和selinux 實驗環境: RS1:rip(192.168.100.243),安裝httpd軟體包; RS2:rip(192.168.100.244),安裝httpd軟體包;
director1:vip(192.168.100.88),dip(192.168.100.242),安裝nginx、keepalived軟體包
director2:vip(192.168.100.89),dip(192.168.100.246),安裝nginx、keepalived軟體包
進行時間同步 (1)在兩臺keepalived高可用主機上安裝keepalived和nginx軟體包,並提供配置檔案。 a.首先使用時間同步,保證節點上的時間是同步的。 b.首先使用nginx反向代理實現後臺RS上的web服務的負載均衡,在nginx的主配置檔案(/etc/nginx/nginx.conf)中,進行修改。 在http段中新增upstream,將後端兩臺RS加入到該upstream中,並且在server段中location /{}中加入代理,實現負載均衡排程。
vim /etc/nginx/nginx.conf
進行檢測,是否實現了後端RS的輪詢排程 curl 192.168.100.246 curl 192.168.100.242
2 上述說明已經通過nginx的反向代理實現了http服務的負載均衡。在此處就可以開始配置keepalived的主配置檔案,實現對nginx的高可 用 在192.168.100.242 keepalived的配置檔案1:
vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived
global_defs { notification_email { [email protected]
vrrp_script chk_nginx { script “killall -0 nginx &> /dev/null” interval 1 weight -10 }
vrrp_instance VI_1 { state BACKUP interface ens37 virtual_router_id 51 priority 90 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.100.88/32 dev ens37 } track_script { chk_nginx } } vrrp_instance VI_2 { state MASTER interface ens37 virtual_router_id 15 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1010 } virtual_ipaddress { 192.168.100.89/32 dev ens37 } track_script { chk_nginx } } 在192.168.100.246 vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived
global_defs { notification_email { [email protected] } notification_email_from [email protected] smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_script chk_nginx { script “killall -0 nginx &> /dev/null” interval 1 weight -10 }
vrrp_instance VI_1 { state MASTER interface eth1 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.100.88/32 dev eth1 } track_script { chk_nginx } } vrrp_instance VI_2 { state BACKUP interface eth1 virtual_router_id 15 priority 90 advert_int 1 authentication { auth_type PASS auth_pass 1010 } virtual_ipaddress { 192.168.100.89/32 dev eth1 } track_script { chk_nginx } } D1和D2 都執行
systemctl start keepalived
ip a 檢視ip 分配
使一臺機器掛了可以看到ip的流動