1. 程式人生 > >nginx和keepalived

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]

} 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 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的流動

在這裡插入圖片描述