160512、nginx+多个tomcat集群+session共享(windows版)

第一步:下载nginx的windows版本,解压即可使用,点击nginx.exe启动nginx

或cmd命令

1、启动:

D: ginx+tomcat ginx-1.9.3>start nginx或D: ginx+tomcat ginx-1.9.3>nginx.exe注:建议使用第一种,第二种会使你的cmd窗口一直处于执行中,不能进行其他命令操作。

2、停止:

D: ginx+tomcat ginx-1.9.3>nginx.exe -s stop或D: ginx+tomcat ginx-1.9.3>nginx.exe -s quit注:stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。

3、重新载入Nginx:

D: ginx+tomcat ginx-1.9.3>nginx.exe -s reload

当配置信息修改,需要重新载入这些配置时使用此命令。

4、重新打开日志文件:

D: ginx+tomcat ginx-1.9.3>nginx.exe -s reopen

5、查看Nginx版本:

D: ginx+tomcat ginx-1.9.3>nginx -v

nginx默认端口是80直接访问localhost如果显示nginx欢迎页则表明成功,这一步一般不会出现问题

第三步:配置几个tomcat,每个里面分别将server.xml中8080,8005,8009这几个地方修改掉就可以了

第三步:修改nginx.conf(注意添加红色部分就可以了)

worker_processes  1;

events {

    worker_connections  1024;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

upstream server_lb{#server_lb跟下面的一样

server localhost:8090;#这里是tomcat的地址

server localhost:8091;

}

    server {

        listen       80;

        server_name  localhost;

        location / {

            root   html;

    proxy_pass http://server_lb;

            index  index.html index.htm index.jspf index.jsp;

    proxy_redirect  default;

        }

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

    }

}

第四步:修改每个tomcat中的server.xml配置文件文件

      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" jvmRoute="jvmRoute"/>

注,但是此时由于每个tomcat部署同一套工程,如果有数据 直接写往session,而且不是使用的cookie存放session的key(由于访问地址使用ip,并不适用域名,所以没法使用cookie),会 造成两次访问session id不一致。此时就需要做session复制或共享。需要以下操作:

第五步:session共享,因为windows中支持tomcat的广播机制,所以只需在web.xm中添加<distributable/>就可以了;如果再linux中需要实现session共享就不能通过这种方式,linux中可以通过redis,后期将会介绍

      通过以上步骤就实现了再windows中nginx集群tomcat,并实现了session共享。如果需要视频的朋友,可以在往期的文章中寻找

原文地址:https://www.cnblogs.com/zrbfree/p/5495754.html