Nginx 示例(负载均衡,session共享)

 Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。 
 我们这里就不对Nginx 过多介绍,我们通过简单的工程例子来了解Nginx的过人之处。

 要工程请联系qq(1132451388)

开发工具 eclipse 轻量级服务器tomcat7.负载均衡Nginx
 一、测试web 工程项目
 1.新建web project:itNginxDemo
 WebContent 新建页面 index.jsp  ,seesionshare.jsp
 index.jsp 内容如下:
           <body>
             <span> second-server-tomcat-AAAAAA,当前的session</span>  <hr>
             <a href ="seesionshare.jsp">向session放个数据</a>  <hr>
             当前session数据是:<%= session.getAttribute("data") %>
           </body>
 seesionshare.jsp 内容如下:
          <body>
              <%  session.setAttribute("data", "sessiondataA");  %>
               jsp:forward page="index.jsp"></jsp:forward>
           /body>

web.xml 加上   <distributable/>     为了session 共享      
 
 二、修改 tomcat 文件配置
 tomcatA server.xml
 <Server port="8115" shutdown="SHUTDOWN">
 
 <Connector port="7070" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8" />
<!-- 为了session 共享 此共享是以广播方式不推荐,推荐用redis--->               
<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="4001"  
                               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> 
    
    tomcatB server.xml
 <Server port="8225" shutdown="SHUTDOWN">
 
 <Connector port="9090" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8" />
<!-- 为了session 共享 此共享是以广播方式不推荐,推荐用redis--->               
<Engine name="Catalina" defaultHost="localhost">  只有此处端口号不一样其他与tomcatA 配置一样
  <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"  address="auto"  port="4002"  autoBind="100"   selectorTimeout="5000"   maxThreads="6"/>  
               
三、Nginx 配置
nginx.conf 配置

 #增加监听的服务端口
 upstream server_tomcat{
       server  127.0.0.1:7070 ;
       server  127.0.0.1:9090 ;
    
    }
    
    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
    #增加加载服务引用    proxy_pass   http://server_tomcat;
        }
四、打包部署
index.jsp 页面修改A/B 方便负载均衡测试
eclipse 导出 itNginxDemo.war 部署到tomcat  webapps文件夹下
启动tomcat A/B 启动nginx
打开浏览器测试 http://localhost/itNginxDemo

           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值