nginx+upstream+keepalived实现负载均衡

IP地址规划

前端服务器

master 192.168.1.112

slave  192.168.1.113

节点服务器

192.168.1.114

192.168.1.115

1、开启主备服务器的upstream模块 在http模块下添加配置分发节点

upstream aaa.xftz.cn{

server 192.168.1.114;

server 192.168.1.115;

}

upstream bbb.xftz.cn{

server 192.168.1.114;

server 192.168.1.115;

}

server {

listen       80;

server_name  aaa.xftz.cn;

location / {

proxy_pass      http://aaa.xftz.cn;

proxy_next_upstream  http_500 http_502 http_503 error timeout invalid_header;

include /home/webserver/nginx/conf/proxy.conf;

}

}

server {

listen  80;

server_name  bbb.xftz.cn;

location / {

proxy_pass      http://bbb.xftz.cn;

proxy_next_upstream  http_500 http_502 http_503 error timeout invalid_header;

include /home/webserver/nginx/conf/proxy.conf;

}

include /home/webserver/nginx/conf/proxy.conf  //include指令包含进来一个proxy配置文件

}

proxy.conf配置文件内容

proxy_redirect  off;

proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;

proxy_set_header X-RealIP $remote_addr;

proxy_set_header Host $host;

client_body_buffer_size 128k;

client_max_body_size    8m;

proxy_connect_timeout   30s;

proxy_send_timeout      1m;

proxy_read_timeout      1m;

proxy_temp_file_write_size 1024m;

proxy_buffer_size         32k;

proxy_buffers             4 32k;

proxy_busy_buffers_size 64k;

#proxy_set_header(设定header)

#proxy_hide_header(隐藏header)

#proxy_pass_header(通过header)

X-Forwarded-For X-RealIP 分别设置变量Forwarded-For设置的变量作用为后端服务器可以获取客户的真实访问IP通过哪个代理服务器访问的后端服务器 X-RealIP设置的变量表示后端服务器可以获取到用户的真实IP

#proxy_connect_timeout(代理连接超时)

#proxy_send_timeout(代理发送超时)

#proxy_read_timeout(代理接收超时)

#proxy_temp_file_write_size(设定缓存文件夹大小)

#proxy_buffer_size(代理缓冲大小)

#proxy_buffers (代理缓冲)

#proxy_busy_buffers_size(高负荷下缓冲大小)

#proxy_ignore_client_abort(不允许代理端主动关闭连接)

2、slave服务器113的配置与主一样

3、节点服务器114和115配置一致

server {

listen       80;

server_name  aaa.xftz.cn;

access_log  /home/httpd/logs/nginx/aaa.xftz.cn-access.log  main;

error_log   /home/httpd/logs/nginx/aaa.xftz.cn-error.log debug ;

root /home/httpd/aaa.xftz.cn/;

index index.html index.php;

}

server {

listen       80;

server_name  bbb.xftz.cn;

access_log  /home/httpd/logs/nginx/bbb.xftz.cn-access.log  main;

error_log   /home/httpd/logs/nginx/bbb.xftz.cn-error.log debug ;

root /home/httpd/bbb.xftz.cn/;

index index.html index.php;

}

在后端节点服务器的nginx配置文件里添加日志格式

log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘

‘$status $body_bytes_sent "$http_referer" ‘

‘"$http_user_agent"  $proxy_add_x_forwarded_for "$http_x_forwarded_for"‘;

4、添加host文件测试访问

192.168.1.112aaa.xftz.cn

192.168.1.112bbb.xftz.cn

5、查看服务器日志

这里upstream的配置完成。

安装Keepalived

tar zxvf keepalived-1.1.19.tar.gz

cd keepalived-1.1.19

./configure --sysconf=/etc

make && make install

修改配置文件/etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

router_id LVS_DEVEL

}

vrrp_script chk_nginx {                //监控nginx脚本

script "/etc/init.d/nginx.sh"

interval 2

weight 2

}

vrrp_instance VI_1 {

state MASTER

interface eth0

virtual_router_id 51

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

track_script {

chk_nginx

}

track_interface {

eth0

}

virtual_ipaddress {

192.168.1.200

}

}

virtual_server 192.168.1.200 80 {

delay_loop 6

lb_algo rr

lb_kind DR

nat_mask 255.255.255.0

persistence_timeout 50

protocol TCP

real_server 192.168.1.114 80 {

weight 1

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

real_server 192.168.1.115 80 {

weight 1

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

}

备服务器的配置文件和主的差别在红色部分。

创建nginx监控文件

vim /etc/init.d/nginx.sh

#!/bin/bash

netstat -anpt | grep nginx

if [ $? != 0 ]

then

/home/webserver/nginx/sbin/nginx

sleep 3

netstat -anpt | grep nginx

if [ $? != 0 ]

then

/etc/init.d/keepalived stop

fi

fi

只在主配置即可

测试keepalived 关闭nginx

到此配置完成

时间: 2024-11-09 02:19:41

nginx+upstream+keepalived实现负载均衡的相关文章

Nginx+Tomcat+Keepalived+Memcache 负载均衡动静分离技术

一.概述 Nginx 作负载均衡器的优点许多,简单概括为: ①实现了可弹性化的架构,在压力增大的时候可以临时添加Tomcat服务器添加到这个架构里面去; ②upstream具有负载均衡能力,可以自动判断下面的机器,并且自动踢出不能正常提供服务的机器: Keepalived 可实现 Nginx负载均衡器双机互备,任意一台机器发生故障,对方都能够将虚拟IP接管过去. Memcache可以实现Tomcat服务器的Sission共享整个拓补如下: 注意: 1.由于服务器有限,IP相同的为同一台机.只是端

Nginx+Tomcat+Keepalived+Memcache负载均衡动离分离技术

一.概述 Nginx 作负载均衡器的优点许多,简单概括为: ①实现了可弹性化的架构,在压力增大的时候可以临时添加Tomcat服务器添加到这个架构里面去; ②upstream具有负载均衡能力,可以自动判断下面的机器,并且自动踢出不能正常提供服务的机器: Keepalived 可实现 Nginx负载均衡器双机互备,任意一台机器发生故障,对方都能够将虚拟IP接管过去. Memcache可以实现Tomcat服务器的Sission共享整个拓补如下: 注意: 1.由于服务器有限,IP相同的为同一台机.只是端

Nginx反向代理,负载均衡,redis session共享,keepalived高可用

相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此处可搭建服务器集群. redis服务器一台,用于session的分离共享. nginx主服务器:192.168.50.133 nginx备服务器:192.168.50.135 tomcat项目服务器1:192.168.50.137 tomcat项目服务器2:192.168.50.139 redis服

nginx实现请求的负载均衡 + keepalived实现nginx的高可用

前言 使用集群是网站解决高并发.海量数据问题的常用手段.当一台服务器的处理能力.存储空间不足时,不要企图去换更强大的服务器,对大型网站而言,不管多么强大的服务器,都满足不了网站持续增长的业务需求.这种情况下,更恰当的做法是增加一台服务器分担原有服务器的访问及存储压力.通过负载均衡调度服务器,将来自浏览器的访问请求分发到应用服务器集群中的任何一台服务器上,如果有更多的用户,就在集群中加入更多的应用服务器,使应用服务器的负载压力不再成为整个网站的瓶颈. 摘自<大型网站技术架构_核心原理与案例分析>

实战:ansible自动化部署nginx+keepalived+mysql负载均衡集群

一.目的 使用ansible自动化部署nginx+keepalived+mysql负载均衡集群. 二.拓扑规划 三.详细步骤 1.环境的搭建 (1).安装ansible,同时配置私钥免密码进行通信 [[email protected] ~]# ssh-keygen  -t rsa #-t表示使用的加密类型,其中rsa1表示version1版本,rsa.dsa.ecdsa的加密对于的是version2版本 Generating public/private rsa key pair. #这里询问你

Nginx反向代理、负载均衡, keepalived高可用

Nginx反向代理.负载均衡,  keepalived高可用 Nginx反向代理.负载均衡,  keepalived高可用 一.Nginx反向代理.负载均衡 1.什么是反向代理.负载均衡 严格的说,Nginx仅仅是作为Nginx Proxv反向代理使用的,因为这个反向代理功能表现的效果是负载均衡集群的效果,所以本文称之为Nginx负载均衡.那么,反向代理和负载均衡有什么区别呢? 普通负载均衡软件,例如大名鼎鼎的LVS,其实现的功能只是对请求数据包的转发(也可能会改写数据包).传递,其中DR模式明

keepalived+nginx双机热备+负载均衡

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

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/ke

Linux系统——Nginx反向代理与负载均衡

集群集群是指一组(若干个)相互独立的计算机,利用高速通信网路组成的一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运用各自服务的独立服务器.这些服务器之间可以彼此通信,协同向用户提供应用程序,系统资源和数据,并以单一系统的模式加以管理.当用户客户机请求集群系统时,集群给用户的感觉就是一个单一独立的服务器,而实际上用户请求的是一组集群服务器. 特点:(1)高性能用户通过Internet到公司的网关,网关通过防火墙,调载到前端的主负载均衡服务器上(有主有备,预防单点问题),主负载均