nginx

Nginx是一款轻量级的Web服务器/反向代理服务器以及邮件代理服务器,是俄罗斯程序员开发,具有占有内存少,并发能力强,事实上nginx的并发能力确实在同类的网站服务器中表现较好,nginx是一web服务器软件

  1. 组成
    nginx又内核和模块组成,其中内核的设计非常微小和简洁。
    核心模块、基础模块、第三方模块
    核心模块:HTTP模块,EVENT模块,MAIL模块
    基础模块:HTTP Access模块,HTTP FastCGI模块,HTTP Proxy模块和HTTP Rewrite模块
    第三方模块:HTTP Upstream Request Hash 模块、 Notice 模块和 HTTP Access Key模块

  2. 网络代理模式
    代理分为:正向代理,反向代理,透明化代理等
    代理可以提高访问速度,防火墙(隐藏ip),突破访问限制(翻墙)

  3. 正向代理
    代理客户端访问服务端(vpn)
    在这里插入图片描述

  4. 反向代理
    代理服务器端,当用户来访问代理服务器,而代理服务器来分发用户的访问,达到负载均衡
    反向代理的结果就是负载均衡
    在这里插入图片描述
    反向代理的好处
    1、保护原始服务器
    2、起到负载均衡的效果
    在这里插入图片描述

  5. 透明代理
    可以进行加密,行为控制
    在这里插入图片描述

  6. nginx应用
    1、发布静态资源
    在这里插入图片描述
    2、负载均衡
    https://www.cnblogs.com/shengs/p/4106672.html
    3、nginx.conf详解
    https://www.cnblogs.com/liang-wei/p/5849771.html

7.实现负载均衡的策略
1、轮询(默认)
nginx根据请求次数,将每个请求均分到每台服务器上
2、指定权重
weight和访问比率成正比,用于后端服务器性能不均的情况
3、ip_hash
同一个ip访问同一个服务器在这里插入图片描述
4、fair和url_hash
通过响应时间或url地址分配在这里插入图片描述
7. session一致性

1、ip_hash(ip绑定),单点登陆
2、tomcat集群,配置tomcat

    #打开conf下的server.xml文件,找到下面这一行:    <Engine name="Catalina" defaultHost="localhost">  
   	 <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"  
                   channelSendOptions="8">  
     
            <Manager className="org.apache.catalina.ha.session.DeltaManager"  
                     expireSessionsOnShutdown="false"  
                     notifyListenersOnReplication="true"/>  
     
            <Channel className="org.apache.catalina.tribes.group.GroupChannel">  
              <Membership className="org.apache.catalina.tribes.membership.McastService"  
                          address="228.0.0.4"  
                          port="45564"  
                          frequency="500"  
                          dropTime="3000"/>  
              <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"  
                        address="auto"  
                        port="4000"  
                        autoBind="100"  
                        selectorTimeout="5000"  
                        maxThreads="6"/>  
     
              <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">  
              <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>  
              </Sender>  
              <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>  
              <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>  
            </Channel>  
     
            <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"  
                   filter=""/>  
            <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>  
     
            <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"  
                      tempDir="/tmp/war-temp/"  
                      deployDir="/tmp/war-deploy/"  
                      watchDir="/tmp/war-listen/"  
                      watchEnabled="false"/>  
     
            <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>  
            <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>  
          </Cluster>  

3、通过radis实现session一致性
Tomcat集群实现session共享是能满足日常小型项目需求,但大型项目的架构,我们采用radis实现session的共享,具体实现:
https://blog.csdn.net/tuesdayma/article/details/81387862

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值