1.準備好兩臺服務器,每臺服務器都安裝nginx和keepalivednginx
Nginx的安裝
1. 下載nginx
官網:http://nginx.org/
2. 上傳並解壓nginx
tar -zxvf nginx-1.8.1.tar.gz -C /usr/local/src
3. 編譯nginx
#進入到nginx源碼目錄
cd /usr/local/src/nginx-1.8.1
#檢查安裝環境,並指定未來要安裝的路徑
./configure --prefix=/usr/local/nginx
#缺包報錯 ./configure: error: C compiler cc is not found
#使用YUM安裝缺乏的包
yum -y install gcc pcre-devel openssl openssl-devel
#編譯安裝
make && make install
安裝完後測試是否正常:
/usr/local/nginx/sbin/nginx
查看端口是否有ngnix進程監聽
netstat -ntlp | grep 80shell
keepalived安裝
1.下載keepalived官網:http://keepalived.org
2.將keepalived解壓到/usr/local/src目錄下
tar -zxvf keepalived-1.2.19.tar.gz -C /usr/local/src
3.進入到/usr/local/src/keepalived-1.2.19目錄
cd /usr/local/src/keepalived-1.2.19
4.開始configure
./configure --prefix=/usr/local/keepalived
5.#編譯並安裝
make && make install
6. 將keepalived添加到系統服務中
拷貝執行文件
cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
將init.d文件拷貝到etc下,加入開機啓動項
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived
將keepalived文件拷貝到etc下
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
建立keepalived文件夾
mkdir -p /etc/keepalived
將keepalived配置文件拷貝到etc下
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
添加可執行權限
chmod +x /etc/init.d/keepalived
##以上全部命令一次性執行:
cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
mkdir -p /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
chmod +x /etc/init.d/keepalived
chkconfig --add keepalived
chkconfig keepalived on
添加keepalived到開機啓動
chkconfig --add keepalived
chkconfig keepalived ontomcat
2.nginx配置負載均衡服務器
找到nginx.conf配置文件編輯,在http這個節下面配置一個叫upstream的,後面的名字能夠隨意取,可是要和location下的proxy_pass http://後的保持一致網絡
http { upstream tomcats { server 192.168.122.168:8080 weight=2;#weight表示多少個 server 192.168.122.169:8080 weight=1; }location ~ .*\.(jsp|do|action) { proxy_pass http://tomcats; #tomcats是後面的tomcat服務器組的邏輯組號 }} |
3.利用keepalived實現高可靠(HA)負載均衡
1.keepalived虛擬IP,jsp
修改配置文件: /etc/keepalived/keepalived.conf測試
#MASTER節點spa
global_defs { |
#BACKUP節點
global_defs { |
#分別啓動兩臺機器上的keepalived
service keepalived start
測試:
殺掉master上的keepalived進程,你會發現,在slave機器上的eth0網卡多了一個ip地址
查看ip地址的命令: ip addr
實質是在搶佔192.168.122.168/24配置的ip
4. 配置keepalived心跳檢查
原理:
Keepalived並不跟nginx耦合,它倆徹底不是一家人
可是keepalived提供一個機制:讓用戶自定義一個shell腳本去檢測用戶本身的程序,返回狀態給keepalived就能夠了
#MASTER節點
global_defs { |
#添加切換通知腳本
vi /usr/local/keepalived/sbin/notify.sh
#添加執行權限
chmod +x /usr/local/keepalived/sbin/notify.sh
#BACKUP節點
#在第二臺機器上添加notify.sh腳本
#分別在兩臺機器上啓動keepalived
service keepalived start
chkconfig keepalived on
最後訪問虛擬ip的資源路徑,如:192.168.122.60:8080/helloworld