Nginx(负载均衡)+keepalived(双机热备)

实验场景:

负载均衡:

LB主:192.168.1.1

LB从;192.168.1.2

VIP:192.168.1.3

web服务器:

web1:192.168.1.4

web2:192.168.1.5

一,      安装nginx依赖: 查看是否已经安装

rpm -qa |grep gcc  openssl-devel pcre-devel  zlib-devel

二,    分别在主从服务器上安装nginx

#tar -zxf nginx-1.1.2.tar.gz

#./configure

#make && make install

修改# vim /usr/local/nginx/conf/nginx.conf

worker_processes  32; (32是你物理机内存的二倍)

在http {  } 里添加

upstreammyserver{

server 192.168.1.4;  //web1服务器地址

server 192.168.1.5; //web2服务器地址

}

server {

listen      80;

server_name  myserver;

#charset koi8-r;

#access_log  logs/host.access.log  main;

location / {

proxy_passhttp://myserver;

proxy_next_upstream http_500 http_503error timeout invalid_header;

include /usr/local/nginx/conf/proxy.conf;(这个文件要自己创建)

#root  html;

#index index.html index.htm;

}

创建 touch /usr/local/nginx/conf/proxy.conf

[[email protected] conf]# cat   proxy.conf

proxy_redirect off;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for;

client_body_buffer_size 128k;

proxy_connect_timeout 90;

proxy_send_timeout 90;

proxy_read_timeout 90;

proxy_buffer_size 4k;

proxy_buffers 4 32k;

proxy_busy_buffers_size 64k;

proxy_temp_file_write_size 64k;

三、验证效果

判断配置文件是否正确 

#/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf

nginx: theconfiguration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx:configuration file /usr/local/nginx/conf/nginx.conf test is successful

更改配置重启nginx

kill -HUP 主进程号或进程号文件路径

或者使用

cd /usr/local/nginx/sbin

./nginx -s reload

分别在两台web服务器上安装nginx

Web1服务器上 echo service1 > /usr/local/nginx/html/index.html

Web2服务器上echo web2 > /usr/local/nginx/html/index.html

四 、问题总结:

问题 :  [error] 33249#0: *46 no live upstreams whileconnecting to upstream, client: 10.16.21.118, server: myserver, request:"GET /favicon.ico HTTP/1.1", upstream: "http://myserver/favicon.ico",host: "10.16.21.20", referrer: "http://10.16.21.20/"

解决方法

1.  查看nginx错误日志,检查nginx.conf 配置文件中配置是否正确

2. Iptables –L关闭防火墙  setenforce 0

分别在主从服务器上安装keepalive

//本文参照http://www.open-open.com/lib/view/open1453698551808.html

#tar -zxvfkeepalived-1.2.7.tar.gz

# yum -y install kernel-headers kernel-devel

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

--with-kernel-dir=/usr/src/kernels/2.6.32-573.12.1.el6.x86_64

#make && make install

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

#chkconfig keepalived on

#vim /etc/keepalived/keepalived.conf (将原来的配置文件备份后修改)

1. global_defs {

2.     router_id NodeB

3. }

4. vrrp_instance VI_1 {

5.     state Master    #设置为主服务器

6.     interface eth0  #监测网络接口

7.     virtual_router_id 51  #主、备必须一样

8.     priority 90   #(主、备机取不同的优先级,主机值较大,备份机值较小,值越大优先级越高)

9.     advert_int 1   #VRRP Multicast广播周期秒数

10.    authentication {

11.     auth_type PASS  #VRRP认证方式,主备必须一致

12.    auth_pass 1111   #(密码)

13. }

14.virtual_ipaddress {

15.     192.168.1.3/24  #VRRP HA虚拟地址

16.}

启动keepalived服务

# service keepalived start 或者keepalived -D -f/usr/local/etc/keepalived/keepalived.conf

#ip a

eth0:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen1000

link/ether 00:0c:29:a8:ff:bb brd ff:ff:ff:ff:ff:ff

inet 192.168.1.1/24 brd 10.16.21.255 scope global eth0

inet 192.168.1.3/24 scope global secondary eth0    ///vip地址

inet6 fe80::20c:29ff:fea8:ffbb/64 scope link

valid_lft forever preferred_lft forever

时间: 2024-11-08 23:23:40

Nginx(负载均衡)+keepalived(双机热备)的相关文章

nginx实现负载均衡+双机热备(keepalived)

最近因业务扩展,需要将当前的apache 转为nginx(web), 再在web前端放置nginx(负载均衡).同时结合keepalived 对前端nginx实现HA.nginx进程基于于Master+Slave(worker)多进程模型,自身具有非常稳定的子进程管理功能.在Master进程分配模式下,Master进程永远不进行业务处理,只是进行任务分发,从而达到Master进程的存活高可靠性,Slave(worker)进程所有的业务信号都 由主进程发出,Slave(worker)进程所有的超时

Keepalived+Nginx提供前端负载均衡+主从双机热备+自动切换

原文链接:http://unun.in/linux/156.html 方案: 采用两台Nginx服务器作为前端,提供静态web内容,分发web请求,一主一从,Keepalived实现状态监测,保证 Nginx正常对外提供服务,即主Nginx服务进程死掉之后,keepalived能够通过脚本或者程序检测机制,将网站的访问切换到从Nginx上 来.后端的web应用服务器的监控由Nginx负责,keepalived只监控Nginx的健康状况. 性能:大约是硬件负载均衡器的10% 优势:虽然性能远弱于L

群集架构篇 ?——nginx反向代理+keepalived双机热备+tomcat服务器池+后端数据库

首先准备好两台nginx,两台tomcat,一台mysql数据库,如下NginxIP地址:192.168.20.39(lvs01)192.168.20.40(lvs02)漂移地址:192.168.20.66TomcatIP地址:192.168.20.41(TM01)192.168.20.42(TM02)MysqlIP地址:192.168.20.50 =====================192.168.20.39(lvs01)=======================vi /usr/lo

Nginx+keepalived双机热备+负载均衡 ???待续

keepalived+nginx双机热备+负载均衡 最近因业务扩展,需要将当前的apache 转为nginx(web), 再在web前端放置nginx(负载均衡).同时结合keepalived 对前端nginx实现HA.nginx进程基于于Master+Slave(worker)多进程模型,自身具有非常稳定的子进程管理功能.在Master进程分配模式下,Master进程永远不进行业务处理,只是进行任务分发,从而达到Master进程的存活高可靠性,Slave(worker)进程所有的业务信号都 由

keepalived双机热备nginx

nginx目前是我最常用的反向代理服务,线上环境为了能更好的应对突发情况,一般会使用keepalived双机热备nginx或者使用docker跑nginx集群,keepalived是比较传统的方式,虽然用docker跑nginx集群更方便,但传统的方式总是有他的可取之处,并且多学一些东西也很好.以后也会写如何使用docker跑nginx集群. 环境准备: 2台centos: 192.168.0.105 和192.168.0.118, 虚拟IP(VIP)为192.168.0.119 配置keepa

Nginx + keepalived 双机热备(主从模式)

双机高可用一般是通过虚拟IP(飘移IP)方法来实现的,基于Linux/Unix的IP别名技术. 双机高可用方法目前分为两种: 1)双机主从模式:即前端使用两台服务器,一台主服务器和一台热备服务器,正常情况下,主服务器绑定一个公网虚拟IP,提供负载均衡服务,热备服务器处于空闲状态:当主服务器发生故障时,热备服务器接管主服务器的公网虚拟IP,提供负载均衡服务:但是热备服务器在主机器不出现故障的时候,永远处于浪费状态,对于服务器不多的网站,该方案不经济实惠. 2)双机主主模式:即前端使用两台负载均衡服

&#8203;Keepalived双机热备

Keepalived双机热备 Keepalived是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换和健检查功能,如判断LVS负载调度器.节点服务器的可用性,及时隔离并替换为新的服务器,当故障主机恢复后将其重新加入群集.在非LVS群集环境中使用时Keepalived也可以作为热备软件使用. Keepalived采用VRRP(virtual  router  redundancy protocol,虚拟路由冗余协议)热备份协议,以软件的方式实现linux服务器的多机热备功能.VRRP是

Centos 7 keepalived双机热备

Centos 7 keepalived双机热备 操作环境:keepalived热备份(双机热备)Centos 7系统ip地址: 192.168.80.100 --主服务器Centos 7系统ip地址: 192.168.80.101 --从服务器windows系统ip地址: 192.168.80.20 --测试客户端 Centos 7系统ip地址: 192.168.80.100操作如下:1. keepalived软件安装yum install keepalived -y 2.修改配置文件vi /e

nginx负载均衡+keepalived高可用完全配置小结

nginx做负载均衡(无高可用) 大致步骤. 1. 前端 nginx安装,pcre安装,具体步骤不解释. 2. 负载配置 A. 默认轮循 在nginx.conf  里加入一行 include upstream.conf,然后所有的负载均衡的配置直接在upstream.conf里配置. [[email protected] conf]# cat upstream.conf upstream httpservers { server 192.168.137.10:80 weight=5; serve

centos 7之keepalived双机热备理论+配置文件详解

一.keepalived工作原理及作用: keepalived最初是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换和健康检 查功能--判断LVS负载调度器.节点服务器的可用性,及时隔离并替换为新的服务器,当故 障主机回复后将其重新加入群集.单独部署LVS环境的话,调度器发生宕机的话,整个群集就 失效了,某一个web节点宕机后,客户端在访问时,总会碰上访问不到网页的情况,所以,将 keepalived和LVS结合起来,才可形成一个真正的高可用群集,当然,后端的共享存储也必须 搭建一个