Nginx+tomcat session cluster会话保持实验

Nginx+tomcat session cluster会话保持实验,第1张

Nginx+tomcatsessioncluster会话保持实验

Nginx+Tomcat会话集群会话保持实验


实验要求:

1.nginx+tomcat负载平衡

2.会话维护

实验拓扑

ip网络规划

Nginxnode2

汤姆卡塔诺3

tomcatBnode4:172.16.76.40

基本配置

节点2:

[root@node2~]#yuminstallnginx–y

节点3:

[root@node3~]# yum install tomcat –y [root@node3~]# cd /var/lib/tomcat/webapps/ [root@node3 webapps]# mkdir -pv test/{claess,lib,WEB-INF [root@node3 webapps]#vim test/index.jsp <%@ page language="java" %>   <html>      <head><title>TomcatA</title></head>    <body>     <h1><font color="red">TomcatA.linuxinfo.top</font></h1>    <tablealign="centre" border="1">   <tr>     <td>SessionID</td>     <% session.setAttribute("linuxinfo.top","linuxinfo.top");%>    <td><%=session.getId() %></td>     </tr>      <tr>        <td>Createdon</td>        <td><%=session.getCreationTime() %></td>       </tr>      </table>     </body> </html> [root@node3 ~]# systemctl restart tomcat


节点4:

[root@node4~]# yum install tomcat –y [root@node4~]# cd /var/lib/tomcat/webapps/ [root@node4 webapps]# mkdir -pv test/{claess,lib,WEB-INF [root@node4 webapps]#vim test/index.jsp <%@ page language="java" %>   <html>      <head><title>TomcatB</title></head>     <body> <h1><font color="blue">TomcatA.linuxinfo.top</font></h1>    <tablealign="centre" border="1">      <tr>     <td>SessionID</td>     <% session.setAttribute("linuxinfo.top","linuxinfo.top");%>          <td><%=session.getId() %></td>          </tr>          <tr>          <td>Createdon</td>          <td><%=session.getCreationTime() %></td>          </tr>       </table>     </body> </html> [root@node4 ~]# systemctl restart tomcat


Nginx配置

节点2

[root@node2~]# vim /etc/nginx/nginx.conf user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid;   include /usr/share/nginx/modules/*.conf; events {     worker_connections 1024; } http {     log_format  main '$remote_addr - $remote_user [$time_local] "$request" '                       '$status$body_bytes_sent "$http_referer" '                      '"$http_user_agent" "$http_x_forwarded_for"';     upstream tomcatser {   #服务器组 配置负载均衡               server 172.16.76.30:8080;               server 172.16.76.40:8080;      #       ip_hash }     access_log  /var/log/nginx/access.log  main;       sendfile            on;     tcp_nopush          on;     tcp_nodelay         on;     keepalive_timeout   65;     types_hash_max_size 2048;       include             /etc/nginx/mime.types;     default_type        application/octet-stream;          include/etc/nginx/conf.d/*.conf;     server {         listen       80 default_server;         listen       [::]:80 default_server;         server_name  _;         root         /usr/share/nginx/html;         # Load configurationfiles for the default server block.         include/etc/nginx/default.d/*.conf;                 #location 代理至后端服务器组;负载均衡       location / {                        proxy_pass http://tomcatser;      location ~* (\.jsp|do)${                  proxy_passhttp://tomcatser;     }         }              error_page 404 /404.html;             location =/40x.html {         }         error_page 500 502 503504 /50x.html;             location =/50x.html {         } } [root@node2 ~]# systemctl restart nginx


tomcat配置

汤姆卡塔:

1.配置tomcat会话集群

[root@node3 ~]# vim /etc/tomcat/server.xml 配置启用集群,将下列配置放置于<engine>或<host>中;          <Enginename="Catalina" defaultHost="localhost"jvmRoute="TomcatA"> <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"         channelSendOptions="8">  <ManagerclassName="org.apache.catalina.ha.session.DeltaManager"           expireSessionsOnShutdown="false"           notifyListenersOnReplication="true"/>  <ChannelclassName="org.apache.catalina.tribes.group.GroupChannel">    <MembershipclassName="org.apache.catalina.tribes.membership.McastService"                 address="228.0.76.4"#组播地址;可自行定义                 port="45564"                 frequency="500"                dropTime="3000"/>    <ReceiverclassName="org.apache.catalina.tribes.transport.nio.NioReceiver"               address="172.16.76.30"  #服务器ip地址;可仅修改此一处               port="4000"               autoBind="100"               selectorTimeout="5000"               maxThreads="6"/>   <SenderclassName="org.apache.catalina.tribes.transport.ReplicationTransmitter">  <TransportclassName="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>  </Sender>     <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>     <InterceptorclassName="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>  </Channel>  <ValveclassName="org.apache.catalina.ha.tcp.ReplicationValve"         filter=""/>  <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>  <DeployerclassName="org.apache.catalina.ha.deploy.FarmWarDeployer"            tempDir="/tmp/war-temp/"            deployDir="/tmp/war-deploy/"            watchDir="/tmp/war-listen/"            watchEnabled="false"/>  <ClusterListenerclassName="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>  <ClusterListenerclassName="org.apache.catalina.ha.session.ClusterSessionListener"/> </Cluster>


2.at将jvmRoute="TomcatA"添加到

<enginename="Catalina"defaulthost="localhost"JVMroute="Tomcata">;

#tomcatB主机会将其修改为tomcatB。

3.编辑WEB-INF/web.xml并添加元素

[root@node3~]#CD/var/lib/Tomcat/WEBapps/test/web-INF/

[root@node3WEB-INF]#ls

web.xml

[root@node3web-INF]#CP/etc/Tomcat/WEB.XML。

[root@node3WEB-INF]#vimweb.xml


节点4:

1.将node3tomcat配置文件server.xml复制到本地计算机;

[root@node4~]#cd/etc/tomcat/

[root@node4Tomcat]#scp172.16.76.30:/etc/Tomcat/server.XML。

2.注意:修改<引擎>JvmRoute=TomcatB在;

3.编辑WEB-INF/web.xml并添加元素

[root@node3~]#CD/var/lib/Tomcat/WEBapps/test/web-INF/

[root@node3WEB-INF]#ls

web.xml

[root@node3web-INF]#CP/etc/Tomcat/WEB.XML。

[root@node3WEB-INF]#vimweb.xm

重新启动所有服务

[root@node2~]#systemctl重启nginx

[root@node3~]#systemctl重新启动tomcat

[root@node4~]#systemctl重新启动tomcat

测试

至此,实验完成;访问172.16.76.20/test/


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zz/777805.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存