nginx高可用實(shí)現(xiàn)方案
一般采用nginx+keepalived,它是一個(gè)高性能的服務(wù)器高可用或者熱備解決方案,Keepalived主要來(lái)防止服務(wù)器單點(diǎn)故障的發(fā)生問(wèn)題,可以通過(guò)其與Nginx的配合實(shí)現(xiàn)Web服務(wù)器端的高可用;
Keepalived以VRRP協(xié)議為實(shí)現(xiàn)基礎(chǔ),用VRRP協(xié)議來(lái)實(shí)現(xiàn)高可用性(HA),VRRP(Virtual Router Redundancy Protocol)協(xié)議是用于實(shí)現(xiàn)路由器冗余的協(xié)議,VRRP協(xié)議將兩臺(tái)或者多臺(tái)路由器設(shè)備虛擬成一個(gè)設(shè)備,對(duì)外提供虛擬路由器IP(一個(gè)或者多個(gè)),從而實(shí)現(xiàn)高可用;
keepalived虛擬化出192.168.100.100和192.168.100.101的虛擬化ip,這個(gè)系統(tǒng)是兩臺(tái)計(jì)算機(jī)上,有4個(gè)tomcat,2個(gè)Nginx,2個(gè)Keepalived實(shí)現(xiàn)負(fù)載均衡策略。
配置keepalived
Keepalived會(huì)根據(jù)virtual_router_id和authentication兩個(gè)來(lái)確定集群關(guān)系。
#修改配置 vim /etc/keepalived/keepalived.conf #配置文件 ! Configuration File for keepalived global_defs { #從服務(wù)器最改一下這個(gè) router_id node1 #表示運(yùn)行keepalived服務(wù)器的一個(gè)標(biāo)識(shí)。發(fā)郵件時(shí)顯示在郵件主題的信息 } #監(jiān)控服務(wù).NGINX mysql等 vrrp_script chk_nginx { script "/usr/local/keepalived/check_nginx.sh" #每2s檢查一次 interval 2 #每次檢查-20 weight -20 } vrrp_instance VI_1 { ##主從設(shè)置 MASTER/BACKUP state MASTER #網(wǎng)卡名稱(chēng) interface eth0 #同一個(gè)集群下這個(gè) router_id是一樣的 virtual_router_id 51 #本機(jī)的ip,需要修改 mcast_src_ip 192.168.100.10 #優(yōu)先級(jí),從節(jié)點(diǎn) 配置,需要小于主節(jié)點(diǎn) priority 100 #設(shè)定MASTER與BACKUP負(fù)載均衡器之間同步檢查的時(shí)間間隔,單位是秒 advert_int 1 #認(rèn)證的密碼 authentication { auth_type PASS #設(shè)定授權(quán)密碼,密碼相同的為一個(gè)集群 auth_pass yellowcong } #觸發(fā)的腳本 track_script { chk_nginx #檢測(cè)腳本,上面配置的 } #虛擬ip地址 virtual_ipaddress { 192.168.100.100 192.168.100.101 } }
更多Nginx相關(guān)技術(shù)文章,請(qǐng)?jiān)L問(wèn)Nginx使用教程欄目進(jìn)行學(xué)習(xí)!?