首页 > 代码库 > nginx keepalived 搭建负载均衡

nginx keepalived 搭建负载均衡

1下载安装包

yum install -y pcre-devel

wget http://www.keepalived.org/software/keepalived-1.2.2.tar.gz

tar zxvf keepalived-1.2.2.tar.gz

cd keepalived-1.2.2

./configure --prefix=/usr/local/keepalived

make  && make install

cp /usr/local/keepalived/sbin/keepalived /usr/sbin/

cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/

mkdir /etc/keepalived

cd /etc/keepalived/

vim keepalived.conf

! Configuration File for keepalived

global_defs {

    notification_email {

    yuhongchun027@163.com 

         }

    notification_email_from keepalived@chtopnet.com 

    smtp_server 127.0.0.1

    smtp_connect_timeout 30

    router_id LVS_DEVEL

}

vrrp_instance VI_1 {

     state MASTER

     interface eth0

     virtual_router_id 51

     mcast_src_ip 192.168.93.130

     priority 100

     advert_int 1

     authentication {

         auth_type PASS

         auth_pass chtopnet

     }

     virtual_ipaddress {

         192.168.93.132

     }

}

service keepalived start

tail /var/log/messages看keepalived是否启动

ip a看vip是否已存在

ip a 来检查

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue 

    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: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000

    link/ether 00:0c:29:ab:e6:22 brd ff:ff:ff:ff:ff:ff

    inet 192.168.93.130/24 brd 192.168.93.255 scope global eth0

    inet 192.168.93.132/32 scope global eth0

    inet6 fe80::20c:29ff:feab:e622/64 scope link 

       valid_lft forever preferred_lft forever

3: sit0: <NOARP> mtu 1480 qdisc noop 

    link/sit 0.0.0.0 brd 0.0.0.0

很明显已经存在了,

这样主服务器 就配置好了,辅机的配置大致一样,除了配置文件 有少部分的变化,下面贴出辅机的配置文件:

 

wget http://www.keepalived.org/software/keepalived-1.2.2.tar.gz

 


#tar zxvf keepalived-1.2.2.tar.gz

#cd keepalived-1.2.2

#./configure --prefix=/usr/local/keepalived

#make 

#make install

#cp /usr/local/keepalived/sbin/keepalived /usr/sbin/

#cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

#cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/

#mkdir /etc/keepalived

#cd /etc/keepalived/

#vim keepalived.conf

! Configuration File for keepalived

global_defs {

    notification_email {

    yuhongchun027@163.com 

         }

    notification_email_from keepalived@chtopnet.com 

    smtp_server 127.0.0.1

    smtp_connect_timeout 30

    router_id LVS_DEVEL

}

vrrp_instance VI_1 {

     state BACKUP

     interface eth0

     virtual_router_id 51

     mcast_src_ip 192.168.93.131

     priority 100

     advert_int 1

     authentication {

         auth_type PASS

         auth_pass chtopnet

     }

     virtual_ipaddress {

        192.168.93.132

     }

}

 

#service keepalived start

 

很显然vrrp已经启动,我们还可以通过命令:#ip a 来检查

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue 

    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: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000

    link/ether 00:0c:29:4a:2a:eb brd ff:ff:ff:ff:ff:ff

    inet 192.168.93.131/24 brd 192.168.93.255 scope global eth0

    inet6 fe80::20c:29ff:fe4a:2aeb/64 scope link 

       valid_lft forever preferred_lft forever

3: sit0: <NOARP> mtu 1480 qdisc noop 

    link/sit 0.0.0.0 brd 0.0.0.0


2 nginx的安装

tar -xzf nginx-1.4.1.tar.gz

cd nginx-1.4.1

sed -i -e ‘s/1.2.2//g‘ -e ‘s/nginx\//TDTWS/g‘ -e ‘s/"NGINX"/"TDTWS"/g‘ src/core/nginx.h

./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module

make && make install

/usr/local/nginx/sbin/nginx

测试

测试其效果方法很简单,分别在主辅机上建立不同的主页,

然后用客户机上http://192.168.93.132 ,显示nginx主的页面效果130


1)主机nginx down掉后辅机会马上接替提供服务 ,间隔时间几乎无法感觉出来,

我们关闭nginx主

访问http://192.168.93.132 显示 131

可查看naginx从=》主 后131的变换 #ip a 就可以看到inet 192.168.93.132/32 scope global eth0

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue 

    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: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000

    link/ether 00:0c:29:4a:2a:eb brd ff:ff:ff:ff:ff:ff

    inet 192.168.93.131/24 brd 192.168.93.255 scope global eth0

    inet 192.168.93.132/32 scope global eth0

    inet6 fe80::20c:29ff:fe4a:2aeb/64 scope link 

       valid_lft forever preferred_lft forever

3: sit0: <NOARP> mtu 1480 qdisc noop 

    link/sit 0.0.0.0 brd 0.0.0.0


2)在开启nginx主服务器(keepalived 开机自动启动)

访问http://192.168.93.132 显示 130

可查看naginx从后131的变换 #ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue 

    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: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000

    link/ether 00:0c:29:4a:2a:eb brd ff:ff:ff:ff:ff:ff

    inet 192.168.93.131/24 brd 192.168.93.255 scope global eth0

    inet6 fe80::20c:29ff:fe4a:2aeb/64 scope link 

       valid_lft forever preferred_lft forever

3: sit0: <NOARP> mtu 1480 qdisc noop 

    link/sit 0.0.0.0 brd 0.0.0.0



小结:

vip两台服务器是一样的

搭建时遇到的问题

1gcc没安装

2prce

3./configure: error: the HTTP rewrite module requires the PCRE library.


安装pcre-devel解决问题

yum -y install pcre-deve


4./configure时老是报!

checking openssl/ssl.h usability... no

checking openssl/ssl.h presence... no

checking for openssl/ssl.h... no

configure: error:

  !!! OpenSSL is not properly installed on your system. !!!

  !!! Can not include OpenSSL headers files. 


解决:

yum install -y openssl openssl-devel




5keepalived出现configure: error: Popt libraries is required的解决方法


解决方法:

yum install popt-devel

安装好popt的开发包。

重新./configure 即可。


 

 

 

 



 



本文出自 “zhanghe” 博客,请务必保留此出处http://9206668.blog.51cto.com/9196668/1532554