一、 Nginx反向代理与负载均衡概念简介 
• 严格地说,Nginx仅仅是作为Nginx Proxy反向代理使用的,因为这个反向代理功能表现的效果是负载均衡集群的效果,所以本文称之为Nginx负载均衡。那么,反向代理和负载均衡有什么区别呢? 
• 普通负载均衡软件,例如大名鼎鼎的LVS,其实功能只是对请求数据包的转发(也可能会改写数据包),传递,其中DR模式明显的特征是从负载均衡下面的节点服务器来看,接收到的请求还是来自访问负载均衡器的客户端的真实用户,而反向代理就不一样了,反向代理接收访问用户的请求后,会代理用户重新发起请求代理下的节点服务器,最后把数据返回给客户端用户,在节点服务器看来,访问的节点服务器的客户端用户就是反向代理服务器了,而非真实的网站访问用户。 
• 一句话,LVS等的负载均衡是转发用户请求的数据包,而Nginx反向代理是接收用户的请求然后重新发起请求去请求其后面的节点。

  • nginx反向代理负载均衡与LVS的区别 
    两者最本质的区别就是LVS等的负载均衡是转发用户请求的数据包,而Nginx是通过反向代理实现负载均衡的,是接收用户的请求然后重新发起请求去请求其后面的节点。 
    其次,nginx工作在OSI网络模型的第7层,所以它可以针对http协议本身来做分流策略,比如针对域名、URI等。lvs工作在网络的第四层,所以lvs并不具备nginx的这些功能,但是lvs可以支持极大的并发,工作效率明显高于nginx反向代理。 
    lvs数据返回时跳过lvs,即LVS :单向的(End user --->LVS---> tomcat ...> end user ) 而Ngnix  有个来回(End user --->Ngnix---> tomcat--->Ngnix ...> end user)

二、Nginx反向代理负载均衡环境准备

1.1环境部署

HOSTNAME IP 说明 
lb01 192.168.0.221 Nginx主负载均衡器 
lb02 192.168.0.222 Nginx副负载均衡器 
web01 192.168.0.223 Web01服务器 
web02 192.168.0.224 Web02服务器

1.2安装Nginx

# yum -y install openssl openssl-devel pcre pcre-devel 安装依赖软件包命令集合 
# tar xf nginx-1.10.2.tar.gz -C /usr/src/ 提前下载好软件 
# cd /usr/src/nginx-1.10.2/ 
# useradd -M -s /sbin/nologin nginx 
# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module && make && make install 预配置、编译、安装 
# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/ 做软连接

1.3 配置web服务器

(web01 web02 配置相同)

###这里故意将www虚拟主机放在下面,便于用后面的参数配置测试效果

配置完成后检查语法,并启动Nginx服务 
# /usr/local/nginx/sbin/nginx

1.4 创建网页目录

#cd /usr/local/nginx/ 
#mkdir ./html/mail 
#touch ./html/mail/bbs.html 
#touch ./html/mail/yunjisuan.html 
#echo "web1 i am bbs " > ./html/mail/bbs.html 
#echo "web1 i am www" > ./html/mail/yunjisuan.html

1.5 Nginx 反向代理配置

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

检查语法并重启 
#/usr/local/nginx/sbin/nginx -t 
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok 
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful 
#/usr/local/nginx/sbin/nginx -s reload

1.6 测试 
在宿主计添加hosts映射 
浏览器访问http://www.yunjisuan.com

nginx负载的更多相关文章

  1. 对比Haproxy和Nginx负载均衡效果

    为了对比Hproxy和Nginx负载均衡的效果,分别在测试机上(以下实验都是在单机上测试的,即负载机器和后端机器都在一台机器上)做了这两个负载均衡环境,并各自抓包分析.下面说下这两种负载均衡环境下抓包 ...

  2. nginx负载均衡集群

    nginx负载均衡集群  0.前言:nginx 负载均衡,属于网络7层模型中的应用层,说白了就是一个代理,要用 upstrem 模块实现,代理则用proxy模块 1.可以针对域名做转发,lvs只能针对 ...

  3. 手把手教你玩转nginx负载均衡(二)----安装虚拟机操作系统

    引言 在上一篇,我们组装好了虚拟机的硬件部分,那么现在我们就要把操作系统装上了,既然是服务器,那么安装linux操作系统是个比较好的选择,如果你喜欢的话,安装windows也是没有任何问题的 我这里选 ...

  4. nginx负载均衡基于ip_hash的session粘帖

    nginx负载均衡基于ip_hash的session粘帖 nginx可以根据客户端IP进行负载均衡,在upstream里设置ip_hash,就可以针对同一个C类地址段中的客户端选择同一个后端服务器,除 ...

  5. Net分布式系统之二:CentOS系统搭建Nginx负载均衡

    一.关于CentOS系统介绍 CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于Red Hat ...

  6. Net分布式系统之三:Keepalived+LVS+Nginx负载均衡之高可用

    上一篇写了nginx负载均衡,此篇实现高可用(HA).系统整体设计是采用Nginx做负载均衡,若出现Nginx单机故障,则导致整个系统无法正常运行.针对系统架构设计的高可用要求,我们需要解决Nginx ...

  7. 配置nginx负载均衡

    配置nginx负载均衡 执行命令:vi /usr/local/nginx/sbin/nginx/conf/nginx.conf 修改为: worker_processes  2; events {   ...

  8. nginx负载下站点错误响应会导致其他节点重复响应问题的解决过程

    目录 前言 问题来了 问题又来了 问题分析 困惑 转机 后续 前言: 这是我上周工作过程中的一次解决问题的过程.解决的是nginx负载下站点错误响应导致其他节点重复响应. 我在整理这个记叙文时,在给这 ...

  9. 烂泥:nginx负载均衡

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 今天我们来学习下有关nginx的负载均衡配置.nginx的负载均衡是通过nginx的upstream模块和proxy_pass反向代理来实现的. 说明: ...

  10. nginx负载均衡集群中的session共享说明

    在网站使用nginx+php做负载均衡情况下,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,就会出现很多问题,比如说最常见的登录状态. 下面罗列几种nginx负载均衡 ...

随机推荐

  1. httpclient 连接参数

    http.socket.timeout(读取超时) 套接字毫秒级超时时间(SO_TIMEOUT),这就是等待数据,换句话说,在两个连续的数据包之间最大的闲置时间. 如果超时是0表示无限大的超时时间,即 ...

  2. this常见错误

    <!doctype html> <html> <head> <meta charset="utf-8"> <meta name ...

  3. bzoj1599

    题解: 暴力枚举每一种可能性 代码: #include<bits/stdc++.h> using namespace std; int s1,s2,s3,ans,num; int main ...

  4. EhLib的行Checkbox

    方法1 http://www.cnblogs.com/jupt/p/4291902.html 在Indicator中添加动态Checkbox,无需绑定数据源,支持全选 - Ehlib学习(二)   先 ...

  5. java maven 安装

    1.java环境安装 maven 想要安装 Apache Maven 在Windows 系统上, 需要下载 Maven 的 zip 文件,并将其解压到你想安装的目录,并配置 Windows 环境变量. ...

  6. Redis Cluster(Redis集群)的搭建和使用

    Reids集群准备知识: (1)Redis集群介绍 Redis 集群是一个提供在多个Redis间节点间共享数据的程序集. Redis集群并不支持处理多个keys的命令,因为这需要在不同的节点间移动数据 ...

  7. JSP--TOMCAT-MYSQL web页面删除

    deleteStudentjsp.jsp页面代码 <%@ page language="java" contentType="text/html; charset= ...

  8. Iview同步异步验证

    直接上代码了: html: <Form ref="termForm" :model="currentData" :rules="ruleTerm ...

  9. 【转】游戏buff设计参见

    其实这类帖子并没有多少的设计理论,对于策划的提升和帮助也并不大,原因其实在于其适用性太窄,当我要设计XX象棋的时候,它就滚一边去了. 废话不多说切入正题: 游戏中的BUFF/DEBUFF我们见过很多, ...

  10. DelaunayTriangulation_VoronoiDiagram_using_OpenCV的实现

    前言 最近project中有关于delaunay的实现问题,查找资料,看到learnopencv这个网站,有很多peoject的实现,本文主要是实现Delaunay Triangulation and ...