Nginx的反向代理和负载均衡

   一、反向代理

  反向代理:反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

   

   反向代理服务器是引用在服务端。决定哪台服务器提供服务。

   二、反向代理好负载均衡

   1).反向代理

    应该有一个nginx服务器有多个应用服务器(可以是tomcat),可以使用一台虚拟机,安装一个nginx,多个tomcat,来模拟。

   模拟步骤:

    1、安装jdk(CentOS自带JDK)

    2、安装tomcat,先上传tar.gz文件到Linux,解压,将解压的tomcat复制两份到指定文件夹

具体看:Linux上安装tomcat

3、修改Nginx的配置文件:/usr/local/nginx/conf/nginx.conf

      

    4、在hosts中添加 tomcat.taotao.com

         

                     

upstream tomcats{
server 192.168.25.148:8080;
server 192.168.25.148:8081;
   }
 
   server {
        listen       80;
        server_name  tomcat.taotao.com;
 
        #charset koi8-r;
 
        #access_log  logs/host.access.log  main;
 
        location / {
            proxy_pass   http://tomcats;
            index  index.html index.htm;
        }
   }
    5、重新加载nginx:./nginx -s reload

   

   访问tomcattomcat1tomcat2轮询加载

  

   1).负载均衡

    由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担。在此情况下,如果扔掉现有设备去做大量的硬件升级,这样将造成现有资源的浪费,而且如果再面临下一次业务量的提升时,这又将导致再一次硬件升级的高额成本投入,甚至性能再卓越的设备也不能满足当前业务量增长的需求。

   针对此情况而衍生出来的一种廉价有效透明的方法以扩展现有网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性的技术就是负载均衡(Load Balance)。

    模拟步骤:

    只需要在upstreamserver后面添加一个weight即可代表权重。权重越高,分配请求的数量就越多,默认权重是1。加权轮询(WRR)算法:为每台分配一个权重,权重表示相对于其他服务器,自身能处理连接的能力。权重为n表示SLB为下一服务器分配流量之前,要为这台服务器分配n条新连接。

    现在8080端口的tomcat加载两次,8081的加载1

       

   【小结】

   通过实例对反向代理和负载均衡有了一个新的理解,还行不断研究!


发布了140 篇原创文章 · 获赞 117 · 访问量 34万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章