微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用nginx搭建tomcat分布式集群

1.下载nginx负载均衡

下载tomcat做集群,下载

下载memcached做session共享

2.将tomcat文件夹复制多份

修改每个端口号在conf下的server.xml文件夹中找到3个port修改端口号不可重复

1 <Server port="1005" shutdown="SHUTDOWN">
2   <Listener className="org.apache.catalina.startup.VersionLoggerListener"/>
3   <!-- Security listener. Documentation at /docs/config/listeners.html
4   <Listener className="org.apache.catalina.security.SecurityListener" />
5   -->
<!-- port="28888" tomcat监听端口,随意设置,别太小 -->
<Connector connectionTimeout="20000" port="1080" protocol="HTTP/1.1" redirectPort="8443"/>
 <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="1009" protocol="AJP/1.3" redirectPort="8443"/>

3.Nginx解压

打开conf打开Nginx.conf进行配置

在#gzip on这句代码加上

   #gzip  on;

    upstream NginxDemo {  
          server 127.0.0.1:1080;  
         server 127.0.0.1:2080; 
    } 

不要写localhost,会比较慢,冒号后是刚刚配置的多个tomcat的监听端口号,这里相当于配置的多个tomcat写成一个方法,下面直接访问这里的方法名字

接下来

listen是Nginx的监听端口号,(就是有人访问80端口就会被Nginx发现并且接管,系统认开启80端口所以访问时可忽略不写:80认就有)

server——name是服务的名字,我感觉是随便写吧

 

        #access_log  logs/host.access.log  main;
        location / {
            proxy_pass http://NginxDemo;
        }
        #error_page  404              /404.html;

location是拦截到访问80端口的处理方法,原来的内容是访问静态网页,现在删除掉他们使用proxy_pass http://NginxDemo;这句话,红色的就是上面多个tomcat那个方法方法名字,也就是说有人访问80端口就会被这里转化为访问tomcat集群

4.启动Nginx,启动dos环境,进入到Nginx目录,输入start Nginx启动

或者直接点击

如果项目已经启动了,修改了conf文件则输入Nginx -s reload重新加载conf

启动自己的多个tomcat,在bin目录doc命令输入start startup.bat或者直接点击

(启动成功会保留dos命令,一闪而过就是失败,可以在最后追加pause让命令行停止查看是否环境有问题,没问题的话就把call "%EXECUTABLE%" start %CMD_LINE_ARGS%里面的start更改为run运行根据提示查看错误信息,没有问题后把这两处改回去)--来自

5.验证

输入localhost(相当于访问了localhost:80,80端口电脑认开启,可以不用指定)会访问到tomcat的页面,这里没有用Tomcat的端口访问了tomcat,证明成功

 

 

在多台tomcat上都布置同一种项目,让项目自动跳转index(在WEB-INF指定即可),可以更改每个index的页面效果,访问localhost/(项目名字),会跳到本项目的index页面,验证如果不同即是成功

 

最终效果

 

 用tomcat效果

 

注意

配置了多台tomcat,如果启动了每台都要布置这个项目,如果有一个没有布置可能会出错(页面的css,js等等都是从项目开始的web-inf下面的位置,也就是和项目关联了,用Nginx访问的时候会轮流提供,比如找tomcat1拿了页面,找tomcat2拿css,而tomcat2没有布置项目,就找不到css,导致页面混乱)

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐