nginx+keepalived簡單實現雙擊熱備-高可用HA

主:192.168.1.2_nginx

備:192.169.1.3_nginx


nginx部署情況:

新建運行賬號:useradd -s /sbin/nologin nginx

nginx賬號密碼:123456

部署路徑:/usr/local/nginx/

nginx部署步驟:

    1.解壓pcre-8.38.tar.gz和nginx-1.8.1.tar.gz至nginx家目錄

    2.cd /root/nginx-1.8.1/

    3../configure --prefix=/usr/local/nginx/--user=nginx --group=nginx --with-pcre=/root/pcre-8.38/ --without-mail_pop3_module--without-mail_imap_module --without-mail_smtp_module

    4.make && make install


    修改配置文件/usr/local/nginx/conf/nginx.conf,將”#user  nobody; ”修改爲“user  nginx;”

配置文件:/usr/local/nginx/conf/nginx.conf

建立軟連接:

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/nginx

啓動方式:

nginx 或者 /usr/local/sbin/nginx 或 /usr/local/nginx/sbin/nginx


keepalived部署情況:

部署路徑:

/usr/local/keepalived-1.3.0

建立軟連接:

ln -s /usr/local/keepalived-1.3.0/sbin/keepalived /usr/local/sbin/keepalived

nginx監控腳本部署路徑:

/usr/local/keepalived-1.3.0/nginx.sh

keepalived.conf配置文件部署路徑:/etc/keepalived.conf

啓動方式:keepalived -d -f /etc/keepalived.conf 或 /usr/local/keepalived-1.3.0/sbin/keepalived -d -f /etc/keepalived.conf

定義高可用VIP:192.168.1.4


主配置文件內容:

! Configuration File for keepalived


global_defs {

   router_id NGINX_MASTER

}


vrrp_script chk_ngx {

   script "/usr/local/keepalived-1.3.0/nginx.sh"

   interval 2

   weight -3

}


vrrp_instance VI_1 {

   state MASTER

   interface eth0

   virtual_router_id 51

   mcast_src_ip 192.168.1.2

   priority 101

   advert_int 1

   authentication {

auth_type PASS

auth_pass 123@2016!@#

   }

   track_script {

chk_ngx

   }

   virtual_ipaddress {

192.168.1.4

   }

}

備配置文件內容:

! Configuration File for keepalived


global_defs {

   router_id NGINX_BACKUP

}


vrrp_script chk_ngx {

   script "/usr/local/keepalived-1.3.0/nginx.sh"

   interval 5

}


vrrp_instance VI_1 {

   state BACKUP

   interface eth1

   virtual_router_id 51 ##必須與主一致

   mcast_src_ip 192.168.1.3

   priority 100

   advert_int 1

   authentication {

auth_type PASS

auth_pass 123@2016!@#

   }

   track_script {

chk_ngx

   }

   virtual_ipaddress {

192.168.1.4

   }

}


nginx.sh檢查nginx運行狀態,腳本內容:

#!/bin/bash

count=`ps -C nginx --no-header |wc -l`

if [[ "$count" -gt "0" ]]; then

    exit 0

else

    exit 1

fi


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章