CentOS7源碼安裝和部署keepalived-2.1.5-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“CentOS7源碼安裝和部署keepalived-2.1.5”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“CentOS7源碼安裝和部署keepalived-2.1.5”吧!

創(chuàng)新互聯(lián)專注于泗陽(yáng)企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城系統(tǒng)網(wǎng)站開發(fā)。泗陽(yáng)網(wǎng)站建設(shè)公司,為泗陽(yáng)等地區(qū)提供建站服務(wù)。全流程按需開發(fā)網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

一、基礎(chǔ)環(huán)境

系統(tǒng)版本nginx版本keepalived版本ip作用
CentOS Linux release 7.6nginx/1.18.0keepalived-2.1.5192.168.86.135master
CentOS Linux release 7.6nginx/1.18.0keepalived-2.1.5192.168.86.136slave

VIP:192.168.86.137

二、編譯環(huán)境安裝

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel pcre pcre-devel

三、安裝nginx

  1. 安裝nignx

    #進(jìn)入目錄
    cd /tools    #上傳安裝文件,并解壓
    tar -zxvf nginx-1.18.0.tar.gz
    #進(jìn)入安裝目錄
    cd nginx-1.18.0
    #檢查配置
    ./configure --prefix=/usr/local/nginx
     
    make&&make install
    #查看nginx版本
    /usr/local/nginx/sbin/nginx -v
    #配置nginx(檢查)/usr/local/nginx/sbin/nginx -t
    #nginx管理命令
    /usr/local/nginx/sbin/nginx                        # 啟動(dòng) 
    /usr/local/nginx/sbin/nginx -s stop              # 停止 
    /usr/local/nginx/sbin/nginx -s reload            # 重新載入配置文件
  2. 修改nginx配置文件

    修改 Nginx 歡迎首頁(yè)內(nèi)容(用于后面測(cè)試, 用于區(qū)分兩個(gè)節(jié)點(diǎn)的 Nginx):

    • master

      echo 'this is master 135' > /usr/share/nginx/html/index.html
    • slave

      echo 'this is slave 136' >  /usr/share/nginx/html/index.html
    • 修改nginx.conf

    • # vi /usr/local/nginx/conf/nginx.con
    • user root;
      worker_processes 1;
      #error_log logs/error.log;
      #error_log logs/error.log notice;
      #error_log logs/error.log info;
      #pid logs/nginx.pid;
      events {
      	worker_connections 1024;
      }
      http {
      	include mime.types;
      	default_type application/octet-stream;
      	#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
      	# '$status $body_bytes_sent "$http_referer" '
      	# '"$http_user_agent" "$http_x_forwarded_for"';
      	#access_log logs/access.log main;
      	sendfile on;
      	#tcp_nopush on;
      	#keepalive_timeout 0;
      	keepalive_timeout 65;
      	#gzip on;
      	server {
      		listen 88;
      		server_name localhost;
      		#charset koi8-r;
      		#access_log logs/host.access.log main;
      		location / {
      			root html;
      			index index.html index.htm;
      		}
      		#error_page 404 /404.html;
      		# redirect server error pages to the static page /50x.html
      		error_page 500 502 503 504 /50x.html;
      		location = /50x.html {
      			root html;
      		}
      	}
      }
  3. 啟動(dòng)nginx

    systemctl start nginx
  4. 測(cè)試nginx啟動(dòng)

    curl localhost
    this is master

四、安裝keepalived

1、 創(chuàng)建依賴環(huán)境

yum -y install libnl libnl-devel gcc openssl-devel libnl3-devel pcre-devel net-snmp-agent-libs libnfnetlink-devel curl
mkdir /etc/keepalived
wget https://www.keepalived.org/software/keepalived-2.1.5.tar.gz

2、安裝keepalived

tar -zxvf keepalived-2.1.5.tar.gz
cd keepalived-2.0.15
./configure --prefix=/usr/local/keepalived-2.1.5
 make && make install

3、創(chuàng)建啟動(dòng)文件

ln -s /usr/local/keepalived-2.1.5 /usr/local/keepalived
mkdir /etc/keepalived/ 
 cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
cp /usr/local/keepalived-2.1.5/etc/sysconfig/keepalived /etc/sysconfig/
 n -s /usr/local/keepalived-2.1.5/sbin/keepalived /usr/sbin/
 下面文件要從keepalived源碼目錄復(fù)制,安裝目錄中沒有cp 
 cp /tools/keepalived-2.1.5/keepalived/keepalived.service /etc/systemd/system/
 cp /tools/keepalived-2.1.5/keepalived/etc/init.d/keepalived /etc/init.d/

4、創(chuàng)建配置文件

  1. master

    cat > /etc/keepalived/keepalived.conf << EOF
    # vi /etc/keepalived/keepalived.conf
    ! Configuration File for keepalived
    global_defs {
    	## keepalived 自帶的郵件提醒需要開啟 sendmail 服務(wù)。 建議用獨(dú)立的監(jiān)控或第三方 SMTP
    	router_id server1 ## 標(biāo)識(shí)本節(jié)點(diǎn)的字條串,通常為 hostname
    } 
    ## keepalived 會(huì)定時(shí)執(zhí)行腳本并對(duì)腳本執(zhí)行的結(jié)果進(jìn)行分析,動(dòng)態(tài)調(diào)整 vrrp_instance 的優(yōu)先級(jí)。如果腳本執(zhí)行結(jié)果為 0,并且 weight 配置的值大于 0,則優(yōu)先級(jí)相應(yīng)的增加。如果腳本執(zhí)行結(jié)果非 0,并且 weight配置的值小于 0,則優(yōu)先級(jí)相應(yīng)的減少。其他情況,維持原本配置的優(yōu)先級(jí),即配置文件中 priority 對(duì)應(yīng)的值。
    vrrp_script chk_nginx {
    	script "/etc/keepalived/nginx_check.sh" ## 檢測(cè) nginx 狀態(tài)的腳本路徑
    	interval 2 ## 檢測(cè)時(shí)間間隔
    	weight -20 ## 如果條件成立,權(quán)重-20
    }
    ## 定義虛擬路由, VI_1 為虛擬路由的標(biāo)示符,自己定義名稱
    vrrp_instance VI_1 {
    	state MASTER ## 主節(jié)點(diǎn)為 MASTER, 對(duì)應(yīng)的備份節(jié)點(diǎn)為 BACKUP
    	interface ens33 ## 綁定虛擬 IP 的網(wǎng)絡(luò)接口,與本機(jī) IP 地址所在的網(wǎng)絡(luò)接口相同, 我的是 eth0
    	virtual_router_id 33 ## 虛擬路由的 ID 號(hào), 兩個(gè)節(jié)點(diǎn)設(shè)置必須一樣, 可選 IP 最后一段使用, 相同的 VRID 為一個(gè)組,他將決定多播的 MAC 地址
    	mcast_src_ip 192.168.86.135   ## 本機(jī) IP 地址
    	priority 100 ## 節(jié)點(diǎn)優(yōu)先級(jí), 值范圍 0-254, MASTER 要比 BACKUP 高
    	nopreempt ## 優(yōu)先級(jí)高的設(shè)置 nopreempt 解決異?;謴?fù)后再次搶占的問題
    	advert_int 1 ## 組播信息發(fā)送間隔,兩個(gè)節(jié)點(diǎn)設(shè)置必須一樣, 默認(rèn) 1s
    	## 設(shè)置驗(yàn)證信息,兩個(gè)節(jié)點(diǎn)必須一致
    	authentication {
    		auth_type PASS
    		auth_pass 123456 ## 真實(shí)生產(chǎn),按需求對(duì)應(yīng)該過來
    	}
    	## 將 track_script 塊加入 instance 配置塊
    	track_script {
    		chk_nginx ## 執(zhí)行 Nginx 監(jiān)控的服務(wù)
    	} #
    	# 虛擬 IP 池, 兩個(gè)節(jié)點(diǎn)設(shè)置必須一樣
    	virtual_ipaddress {
    		192.168.86.137 ## 虛擬 ip,可以定義多個(gè)
    	}
    }
    EOF
  2. slave

    cat > /etc/keepalived/keepalived.conf << EOF
    # vi /etc/keepalived/keepalived.conf
    ! Configuration File for keepalived
    global_defs {
    	router_id server2
    }
    vrrp_script chk_nginx {
    	script "/etc/keepalived/nginx_check.sh"
    	interval 2
    	weight -20
    }
    vrrp_instance VI_1 {
    	state BACKUP
    	interface ens33
    	virtual_router_id 33
    	mcast_src_ip 192.168.86.136
    	priority 90
    	advert_int 1
    	authentication {
    		auth_type PASS
    		auth_pass 123456
    	}
    	track_script {
    		chk_nginx
    	}
    	virtual_ipaddress {
    		192.168.86.137
    	}
    }
    EOF

5、啟編寫Nginx 狀態(tài)檢測(cè)腳本

      編寫 Nginx 狀態(tài)檢測(cè)腳本 /etc/keepalived/nginx_check.sh (已在 keepalived.conf 中配置)腳本要求:如果 nginx 停止運(yùn)行,

嘗試啟動(dòng),如果無(wú)法啟動(dòng)則殺死本機(jī)的 keepalived 進(jìn)程, keepalied將虛擬 ip 綁定到 BACKUP 機(jī)器上。 內(nèi)容如下:

cat > /etc/keepalived/nginx_check.sh << EOF
# vi /etc/keepalived/nginx_check.sh
#!/bin/bash
A=`ps -C nginx –no-header |wc -l`
if [ $A -eq 0 ];then
/usr/local/nginx/sbin/nginx
sleep 2
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
killall keepalived
fi
fi
EOF

保存后,給腳本賦執(zhí)行權(quán)限:

# chmod +x /etc/keepalived/nginx_check.sh

6、啟動(dòng)keepalived

systemctl start keepalived
systemctl enable keepalived

五、測(cè)試

1、在兩臺(tái)服務(wù)器上測(cè)試

  1. master

    $ curl localhost
    this is master
    root@centos7[14:46:07]:~
    $ curl 192.168.86.135
    this is master
    root@centos7[15:03:29]:~
  2. slave

    $ curl localhost
    this is slave
    root@centos7[15:03:59]:/etc/keepalived
    $ curl 192.168.86.136
    this is master

2、關(guān)閉master的keepalived模仿down機(jī)

  1. master關(guān)閉keepalived

    $ systemctl stop keepalived
  2. 在slave上面進(jìn)行測(cè)試

$  curl localhost
this is slave
root@centos7[15:10:29]:/etc/keepalived
$ curl 192.168.86.136
this is slave

到此keepalived完成

到此,相信大家對(duì)“CentOS7源碼安裝和部署keepalived-2.1.5”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

當(dāng)前標(biāo)題:CentOS7源碼安裝和部署keepalived-2.1.5-創(chuàng)新互聯(lián)
路徑分享:http://muchs.cn/article36/dhegsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站網(wǎng)站設(shè)計(jì)、外貿(mào)建站、網(wǎng)站內(nèi)鏈、云服務(wù)器、網(wǎng)站營(yíng)銷

廣告

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

h5響應(yīng)式網(wǎng)站建設(shè)