keepalived+nginx-創(chuàng)新互聯(lián)



我們先來談談keepalived的工作原理:

keepalived的工作原理基于三個層面,分別時IP層,TCP層和應用層
IP 層:keepalived會定期向服務器集群中的服務器發(fā)送一個類似于ping程序的ICMP數(shù)據(jù)包。通俗理解就是我keepalived來ping你服 務器,我要是ping通了,那我知道你還活著,咱們可以繼續(xù)合作,如果不幸發(fā)現(xiàn)你掛了,那就得把這臺服務器踢了。該層就是確保服務器ip地址有效,一次來 判斷這臺服務器可否繼續(xù)在崗謀職。
TCP層:這一層和IP層類似,只不過IP層檢查的是IP,該層檢查TCP端口。keepalived在IP層 且報你服務器的IP有效,然后繼續(xù)看你的TCP端口,比如說你是web server,那你的80端口就應該開啟,如果keepalived發(fā)現(xiàn)你的80端口沒有啟動。那么它就會認為你已經(jīng)掛掉,然后剔除。
應用層:這一層就是具體的工作程序了,keepalived是個恪盡職守的檢察官,應用層的程序與用戶的設定息息相關,keepalived則通過檢查服務器的運行是否和用戶設定一致,如果不一致,keepalived就會宣判這臺服務器犧牲。

網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、微信小程序開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了利通免費建站歡迎大家使用!

keepalived + nginx

主機:172.25.44.3   server3
備機:172.25.44.4   server4

配置虛擬ip

[root@server3 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0:0DEVICE=eth0:0TYPE=EthernetONBOOT=yesBOOTPROTO=staticDNS1=172.25.44.44IPADDR=172.25.44.100NETMASK=255.255.255.0GETWAY=172.25.44.44[root@server3 ~]# /etc/init.d/network restart[root@server3 ~]# ifconfigeth0      Link encap:Ethernet  HWaddr 52:54:00:48:60:3E          inet addr:172.25.44.4  Bcast:172.25.44.255  Mask:255.255.255.0          inet6 addr: fe80::5054:ff:fe48:603e/64 Scope:Link          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1          RX packets:11926 errors:0 dropped:0 overruns:0 frame:0          TX packets:6533 errors:0 dropped:0 overruns:0 carrier:0          collisions:0 txqueuelen:1000          RX bytes:25662550 (24.4 MiB)  TX bytes:876645 (856.0 KiB) eth0:0    Link encap:Ethernet  HWaddr 52:54:00:48:60:3E          inet addr:172.25.44.100  Bcast:172.25.44.255  Mask:255.255.255.0          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 lo        Link encap:Local Loopback          inet addr:127.0.0.1  Mask:255.0.0.0          inet6 addr: ::1/128 Scope:Host          UP LOOPBACK RUNNING  MTU:16436  Metric:1          RX packets:36283 errors:0 dropped:0 overruns:0 frame:0          TX packets:36283 errors:0 dropped:0 overruns:0 carrier:0          collisions:0 txqueuelen:0          RX bytes:1982812 (1.8 MiB)  TX bytes:1982812 (1.8 MiB)主備機均需配置

安裝nginx

安裝包:nginx-1.10.3.tar.gz
解壓安裝包:tar zxf nginx-1.10.3.tar.gz

[root@server3 software]# cd nginx-1.10.3 —prefix=/usr/local/lnmp/nignx [root@server3 nginx-1.10.3]# ./configure [root@server3 nginx-1.10.3]# make [root@server3 nginx-1.10.3]# make install [root@server3 nginx-1.10.3]# ln -s /usr/local/lnmp/nginx/sbin/nginx /usr/local/sbin/ #創(chuàng)建nginx的軟鏈接

配置nginx
[root@server3 nginx-1.10.3]# cd /usr/local/lnmp/nginx/conf[root@server3 conf]# vim nginx.conf/#訪問8088端口是的發(fā)布目錄為/var/www/html,而nginx的默認發(fā)布目錄還是/usr/local/lnmp/nginx/html server {        listen       8088;#監(jiān)聽8088端口        server_name  localhost;     location / {         root   /var/www/html;         index  index.html index.htm;     }     error_page   500 502 503 504  /50x.html;     location = /50x.html {         root   /usr/local/lnmp/nginx/html;     } } [root@server3 conf]# cd /var/www/html[root@server3 html]# vim index.html <html> <head> <title>Welcome to nginx!</title> </head> <body bgcolor="white" text="black"> <center><h2>Welcome to nginx! 172.25.44.3</h2></center> </body> </html> [root@server3 html]# nginx

安裝keepalived

安裝包:keepalived-1.2.2.tar.gz

[root@server3 software]# wget  http://www.keepalived.org/software/keepalived-1.2.2.tar.gz [root@server3 software]# tar zxf keepalived-1.2.2.tar.gz [root@server3 software]# cd keepalived-1.2.2 [root@server3 keepalived-1.2.2]# ./configure [root@server3 keepalived-1.2.2]# make [root@server3 keepalived-1.2.2]# make install [root@server3 keepalived-1.2.2]# cp /usr/local/sbin/keepalived /usr/sbin/ [root@server3 keepalived-1.2.2]# cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/ [root@server3 keepalived-1.2.2]# cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ [root@server3 keepalived-1.2.2]# cp -r /usr/local/etc/keepalived/ /etc/
配置leepalived
[root@server3 keepalived-1.2.2]# vim /var/www/html/index.html global_defs {     router_id LVS_DEVEL } vrrp_script chk_http_port {     script “</dev/tcp/127.0.0.1/8088”     interval 1     weight -2 } vrrp_instance VI_1 {     state MASTER     interface eth0     virtual_router_id 51     priority 100     advert_int 1     authentication {         auth_type PASS         auth_pass 1111     }     virtual_ipaddress {         172.25.44.100     }     track_script {         chk_http_port     }#state MASTER:MASTER主機,BACKUP備機#priority 100:優(yōu)先級指定,數(shù)字越大優(yōu)先級越高#virtual_ipaddress:指定vip#track_scrip:檢查端口[root@server3 keepalived-1.2.2]# /etc/init.d/keepalived start

備機次同步主機的操作步驟:keepalived的配置文件中,主機的state為MASTER,備機的state為BACKUP,備機的priority要小于主機

測試

驗證nginx啟動正常

訪問主機nginx的默認頁

keepalived+nginx

訪問主機nginx的指定頁

keepalived+nginx

訪問備機nginx的默認頁

keepalived+nginx

訪問備機nginx的指定頁

keepalived+nginx

訪問vip

主機server3的優(yōu)先級更高,在主機完好的情況下,有server3來負載nginx運行

keepalived+nginx

[root@server3 software]# /etc/init.d/keepalived stop Stopping keepalived:                                       [  OK  ]當主機的keeplived服務掛掉的時候,在則訪問vip,則由備機自動負載nginx運行[root@server4 conf]# ip a 1: lo:  mtu 16436 qdisc noqueue state UNKNOWN     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00     inet 127.0.0.1/8 scope host lo     inet6 ::1/128 scope host        valid_lft forever preferred_lft forever 2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000     link/ether 52:54:00:48:60:3e brd ff:ff:ff:ff:ff:ff     inet 172.25.44.4/24 brd 172.25.44.255 scope global eth0     inet 172.25.254.104/24 brd 172.25.254.255 scope global eth0     inet 172.25.44.100/32 scope global eth0     inet 172.25.44.100/24 brd 172.25.44.255 scope global secondary eth0:0     inet6 fe80::5054:ff:fe48:603e/64 scope link        valid_lft forever preferred_lft forever同時可以看到vip浮動在備機server4上

keepalived+nginx

[root@server3 software]# /etc/init.d/keepalived start Starting keepalived:                                       [  OK  ]啟動主機server3上的keepalived服務,再次訪問vip,則nginx的負載運行又回到主機server3上[root@server3 software]# ip a 1: lo:  mtu 16436 qdisc noqueue state UNKNOWN     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00     inet 127.0.0.1/8 scope host lo     inet6 ::1/128 scope host        valid_lft forever preferred_lft forever 2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000     link/ether 52:54:00:b4:14:0d brd ff:ff:ff:ff:ff:ff     inet 172.25.44.3/24 brd 172.25.44.255 scope global eth0     inet 172.25.254.103/24 brd 172.25.254.255 scope global eth0     inet 172.25.44.100/32 scope global eth0     inet6 fe80::5054:ff:feb4:140d/64 scope link        valid_lft forever preferred_lft forever該情況下查看ip,發(fā)現(xiàn)vip浮動在主機server3上

keepalived+nginx

在應用層出問題的情況下,如停掉主機server3的nginx服務,則備機server4也會自動接管nginx支持前端的訪問[root@server3 software]# killall nginx

keepalived+nginx

問題補充:在備機keepalived的配合配置文件中,如果補修改state的情況下實驗也是可以成功的,我覺得應該時兩個機子通過priority優(yōu)先級競爭。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

網(wǎng)頁標題:keepalived+nginx-創(chuàng)新互聯(lián)
文章來源:http://www.muchs.cn/article4/depsoe.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設計公司、域名注冊服務器托管、移動網(wǎng)站建設、網(wǎng)站策劃電子商務

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設