Nginx负载均衡配合keepalived服务案例实战
2017-04-29 17:11
537 查看
Nginx负载均衡配合keepalived服务案例实战;
在lb01和lb02上配置nginx负载均衡
Nginx负载均衡配置:cat nginx.conf
worker_processes1;
error_loglogs/error.log;
events {
worker_connections 1024;
}
http {
server_tokens off;
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstreamwww_server_pools{
server10.0.0.9:80 weight = 1;
server10.0.0.10:80 weight = 1;
}
server {
listen 10.0.0.12:80;
server_name www.etiantian.org;
location/forum/{
proxy_pass http: www_server_pools;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For$remote_addr;
}
}
}此代理紧代理了www.etiantian.org域名。
在lb01和lb02上配置keepalived服务。
把配置keepalived实现单实例单IP自动接管的keepalived.conf配置到这里面。
在客户端hosts文件中把www.etiantian.org域名解析到VIP10.0.0.12上。
启动nginx,lsof –i:80 ip addr|grep 10.0.0.12 有内容显示
测试:在浏览器中输入www.etiantian.org显示两种访问结果,停掉lb01服务器,观察lb02服务器是否接管VIP10.0.0.12:ip addr|grep 10.0.0.12有内容显示,在浏览器中显示一样。
配置Realserver
为Realserver的某块网卡创建启动脚本,脚本内容如下:
#virealserverd #!/bin/bash
VIP=172.28.14.227
./etc/rc.d/init.d/functions
case "$1" in
start)
echo 1 >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 >/proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
ifconfig lo:0 $VIP broadcast $VIPnetmask 255.255.255.255 up
/sbin/route add -host $VIP dev lo:0
sysctl -p > /dev/null2>&1
echo "realserver startOK"
;;
stop)
echo 0 >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo 0 >/proc/sys/net/ipv4/conf/lo/arp_announce
echo 0 >/proc/sys/net/ipv4/conf/all/arp_ignore
echo 0 >/proc/sys/net/ipv4/conf/all/arp_announce
ifconfig lo:0 down
/sbin/route del $VIP > /dev/null2>&1
echo "realserver stoped"
;;
*)
echo "Usage:$0{start|stop}"
exit 1
esac
exit 0
说明:注意脚本中红色部分,每块网卡绑定一个虚拟IP地址,如果绑定多个虚拟IP,则需要为每块网卡创建一个脚本,并且指定lo:X(比如:lo:0,lo:1等),另外,.和/etc/rc.d/funtions之间有空格。启动keepalived服务,并执行上述脚本,然后用ip a能确认是否有VIP地址。输入ipvsadm-Ln查看LVS工作状态。停止MASTER的keepalived服务,BACKUP能接管VIP地址,再次启动MASTER的keepalived服务,MASTER又能再一次接管VIP地址。
在lb01和lb02上配置nginx负载均衡
Nginx负载均衡配置:cat nginx.conf
worker_processes1;
error_loglogs/error.log;
events {
worker_connections 1024;
}
http {
server_tokens off;
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstreamwww_server_pools{
server10.0.0.9:80 weight = 1;
server10.0.0.10:80 weight = 1;
}
server {
listen 10.0.0.12:80;
server_name www.etiantian.org;
location/forum/{
proxy_pass http: www_server_pools;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For$remote_addr;
}
}
}此代理紧代理了www.etiantian.org域名。
在lb01和lb02上配置keepalived服务。
把配置keepalived实现单实例单IP自动接管的keepalived.conf配置到这里面。
在客户端hosts文件中把www.etiantian.org域名解析到VIP10.0.0.12上。
启动nginx,lsof –i:80 ip addr|grep 10.0.0.12 有内容显示
测试:在浏览器中输入www.etiantian.org显示两种访问结果,停掉lb01服务器,观察lb02服务器是否接管VIP10.0.0.12:ip addr|grep 10.0.0.12有内容显示,在浏览器中显示一样。
配置Realserver
为Realserver的某块网卡创建启动脚本,脚本内容如下:
#virealserverd #!/bin/bash
VIP=172.28.14.227
./etc/rc.d/init.d/functions
case "$1" in
start)
echo 1 >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 >/proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
ifconfig lo:0 $VIP broadcast $VIPnetmask 255.255.255.255 up
/sbin/route add -host $VIP dev lo:0
sysctl -p > /dev/null2>&1
echo "realserver startOK"
;;
stop)
echo 0 >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo 0 >/proc/sys/net/ipv4/conf/lo/arp_announce
echo 0 >/proc/sys/net/ipv4/conf/all/arp_ignore
echo 0 >/proc/sys/net/ipv4/conf/all/arp_announce
ifconfig lo:0 down
/sbin/route del $VIP > /dev/null2>&1
echo "realserver stoped"
;;
*)
echo "Usage:$0{start|stop}"
exit 1
esac
exit 0
说明:注意脚本中红色部分,每块网卡绑定一个虚拟IP地址,如果绑定多个虚拟IP,则需要为每块网卡创建一个脚本,并且指定lo:X(比如:lo:0,lo:1等),另外,.和/etc/rc.d/funtions之间有空格。启动keepalived服务,并执行上述脚本,然后用ip a能确认是否有VIP地址。输入ipvsadm-Ln查看LVS工作状态。停止MASTER的keepalived服务,BACKUP能接管VIP地址,再次启动MASTER的keepalived服务,MASTER又能再一次接管VIP地址。
相关文章推荐
- lvs keepalived nginx-rtmp 视频流服务负载均衡系统搭建
- lvs keepalived nginx-rtmp 视频流服务负载均衡系统搭建
- Nginx在windows下配合IIS搭建负载均衡多站点共享Session
- 用NginX+keepalived实现高可用的负载均衡
- Nginx+Keepalived实现负载均衡高可用
- 架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层
- lvs DR模式 +keepalived 实现directory 高可用、httpd服务负载均衡集群
- nginx+keepalievd,实现负载均衡和故障点切换。keepalived双机热备。
- nginx+keepalived在ubuntu上实现负载均衡
- Nginx 在windows下配合iis搭建负载均衡过程
- Keepalived+Nginx实现高可用和双主节点负载均衡
- nginx+keepalived做负载均衡解决方案
- CentOS6.4 LVS+keepalived高可用负载均衡服务配置
- nginx+keepalived负载均衡可用框架(二 nginx负载均衡-加权轮询)
- 架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层
- CentOS6.2下搭建LVS(DR)+Keepalived实现高性能高可用负载均衡服务
- nginx+keepalived构建主备负载均衡代理服务器 推荐
- nginx+keepalived构建负载均衡代理服务器
- 架构设计:负载均衡层设计方案(7)——LVS + Keepalived + Nginx安装及配置
- keepalived 主备服务负载均衡、基于LAMP平台