• Nginx反向代理与负载均衡


    一、 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

  • 相关阅读:
    一步一步学Remoting之四:承载方式(2)<转>
    一步一步学Remoting之五:异步操作<转>
    NET3.0+中使软件发出声音[整理篇]<转>
    Ext Core手册
    一步一步学Remoting之一:从简单开始<转>
    asp.net 常用字符串过滤方法 <转>
    mssql性能优化<转>
    一步一步学Remoting之四:承载方式(1)<转>
    Javascript中最常用的61个经典技巧 <转>
    Js事件对象<转>
  • 原文地址:https://www.cnblogs.com/tang-j-l/p/9958044.html
Copyright © 2020-2023  润新知