您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“CentOS7源碼安裝和部署keepalived-2.1.5”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“CentOS7源碼安裝和部署keepalived-2.1.5”吧!
系統(tǒng)版本 | nginx版本 | keepalived版本 | ip | 作用 |
---|---|---|---|---|
CentOS Linux release 7.6 | nginx/1.18.0 | keepalived-2.1.5 | 192.168.86.135 | master |
CentOS Linux release 7.6 | nginx/1.18.0 | keepalived-2.1.5 | 192.168.86.136 | slave |
VIP:192.168.86.137
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre pcre-devel
安裝nignx
#進入目錄 cd /tools #上傳安裝文件,并解壓 tar -zxvf nginx-1.18.0.tar.gz #進入安裝目錄 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 # 啟動 /usr/local/nginx/sbin/nginx -s stop # 停止 /usr/local/nginx/sbin/nginx -s reload # 重新載入配置文件
修改nginx配置文件
修改 Nginx 歡迎首頁內(nèi)容(用于后面測試, 用于區(qū)分兩個節(jié)點的 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; } } }
啟動nginx
systemctl start nginx
測試nginx啟動
curl localhost this is master
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
tar -zxvf keepalived-2.1.5.tar.gz cd keepalived-2.0.15 ./configure --prefix=/usr/local/keepalived-2.1.5 make && make install
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源碼目錄復制,安裝目錄中沒有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/
master
cat > /etc/keepalived/keepalived.conf << EOF # vi /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { ## keepalived 自帶的郵件提醒需要開啟 sendmail 服務。 建議用獨立的監(jiān)控或第三方 SMTP router_id server1 ## 標識本節(jié)點的字條串,通常為 hostname } ## keepalived 會定時執(zhí)行腳本并對腳本執(zhí)行的結果進行分析,動態(tài)調(diào)整 vrrp_instance 的優(yōu)先級。如果腳本執(zhí)行結果為 0,并且 weight 配置的值大于 0,則優(yōu)先級相應的增加。如果腳本執(zhí)行結果非 0,并且 weight配置的值小于 0,則優(yōu)先級相應的減少。其他情況,維持原本配置的優(yōu)先級,即配置文件中 priority 對應的值。 vrrp_script chk_nginx { script "/etc/keepalived/nginx_check.sh" ## 檢測 nginx 狀態(tài)的腳本路徑 interval 2 ## 檢測時間間隔 weight -20 ## 如果條件成立,權重-20 } ## 定義虛擬路由, VI_1 為虛擬路由的標示符,自己定義名稱 vrrp_instance VI_1 { state MASTER ## 主節(jié)點為 MASTER, 對應的備份節(jié)點為 BACKUP interface ens33 ## 綁定虛擬 IP 的網(wǎng)絡接口,與本機 IP 地址所在的網(wǎng)絡接口相同, 我的是 eth0 virtual_router_id 33 ## 虛擬路由的 ID 號, 兩個節(jié)點設置必須一樣, 可選 IP 最后一段使用, 相同的 VRID 為一個組,他將決定多播的 MAC 地址 mcast_src_ip 192.168.86.135 ## 本機 IP 地址 priority 100 ## 節(jié)點優(yōu)先級, 值范圍 0-254, MASTER 要比 BACKUP 高 nopreempt ## 優(yōu)先級高的設置 nopreempt 解決異?;謴秃笤俅螕屨嫉膯栴} advert_int 1 ## 組播信息發(fā)送間隔,兩個節(jié)點設置必須一樣, 默認 1s ## 設置驗證信息,兩個節(jié)點必須一致 authentication { auth_type PASS auth_pass 123456 ## 真實生產(chǎn),按需求對應該過來 } ## 將 track_script 塊加入 instance 配置塊 track_script { chk_nginx ## 執(zhí)行 Nginx 監(jiān)控的服務 } # # 虛擬 IP 池, 兩個節(jié)點設置必須一樣 virtual_ipaddress { 192.168.86.137 ## 虛擬 ip,可以定義多個 } } EOF
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
編寫 Nginx 狀態(tài)檢測腳本 /etc/keepalived/nginx_check.sh (已在 keepalived.conf 中配置)腳本要求:如果 nginx 停止運行,
嘗試啟動,如果無法啟動則殺死本機的 keepalived 進程, keepalied將虛擬 ip 綁定到 BACKUP 機器上。 內(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í)行權限:
# chmod +x /etc/keepalived/nginx_check.sh
systemctl start keepalived systemctl enable keepalived
master
$ curl localhost this is master root@centos7[14:46:07]:~ $ curl 192.168.86.135 this is master root@centos7[15:03:29]:~
slave
$ curl localhost this is slave root@centos7[15:03:59]:/etc/keepalived $ curl 192.168.86.136 this is master
master關閉keepalived
$ systemctl stop keepalived
在slave上面進行測試
$ curl localhost this is slave root@centos7[15:10:29]:/etc/keepalived $ curl 192.168.86.136 this is slave
到此keepalived完成
到此,相信大家對“CentOS7源碼安裝和部署keepalived-2.1.5”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。