Nginx+Tomcat集群

Nginx+Tomcat集群

搭建步骤:

1:将工程部署到tomcat中(注意:是部署,不是拷贝工程,工程和部署文件不一样)
2:将tomcat复制多份,如果是在同一台服务器下,则需要修改tomcat的3个端口号,如果是单独部署不同的服务器,则不需要修改(因为IP不同,不冲突)
3:修改的3个端口号依次为(默认+1即可):

    <Server port="8005" shutdown="SHUTDOWN">
    <Connector port="8080" protocol="HTTP/1.1"
    <Connector port="8009" protocol="AJP/1.3" >
4:配置nginx的配置文件,将tomcat的信息,部署到nginx的连接中:(反向代理模式)
    upstream localhost {
        server 127.0.0.1:8080;
        server 127.0.0.1:8081; 
     }
5:分别进入到tomcat的bin目录下,启动每个tomcat,并可以单独访问成功
6:启动tomcat之后,启动nginx,windows下进入到nginx的根目录,使用cmd命令执行nginx.exe即可
7:浏览器访问nginx,检验应用集群的搭建是否成功

参考资料:

https://mp.weixin.qq.com/s?_biz=MzIxMjg4NDU1NA==&mid=2247483847&idx=1&sn=4d3c6d6c331342cc930cb4cfc0ca465c&chksm=97be0ce2a0c985f427f0462a9be9dd49b963a1e09ea86ef68f081afb8a21f96f247708fbc52d&scene=21#wechatredirect

Session共享解决方案

  • Tomcat本身是支持Session共享(复制),默认是关闭的,需要开启

    • 只能支持session共享,但是必须保证,应用服务器tomcat在同一台服务器内或者在同一个IP段内

    步骤:

    1:修改每一台tomcat的server.xml配置文件:
        原来为: 
            <Engine name="Catalina" defaultHost="localhost">
        修改为:
             <Engine name="Catalina" defaultHost="localhost" jvmRoute="8081">
        将以下代码从注释中抽取出来:
            <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
    
    2:在部署的项目中,修改web.xml,增加如下代码:
        <distributable/>
        此段代码必须放到<display-name>SSH20</display-name>之后,其它代码之前
    
  • 在登录成功之后,需要将session统一放到管理器(Redis)中

posted @ 2018-08-22 23:05  含笑1098  阅读(107)  评论(0编辑  收藏  举报