负载均衡tomcat,会话session

10.0.0.8 node2.magedu.org
10.0.0.28 node1.magedu.org
10.0.0.200 www.magedu.org nginx代理

10.0.0.28配置

[root@zhao ROOT]# vim /usr/local/tomcat/conf/server.xml 
    <Engine name="Catalina" defaultHost="www.magedu.org">
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
       </Host>
       <Host name="www.magedu.org"  appBase="/data/tomcat/node1/"
                           unpackWARs="true" autoDeploy="true">
      </Host>
    </Engine>
  </Service>
</Server>
[root@zhao conf]# mkdir -p /data/tomcat/node1/ROOT/
[root@zhao ROOT]# cat /data/tomcat/node1/ROOT/index.jsp 
<%@ page import="java.util.*" %>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>tomcat test</title>
</head>
<body>
<h1> Tomcat Website1 </h1>
<div>On  <%=request.getServerName() %></div>
<div><%=request.getLocalAddr() + ":" + request.getLocalPort() %></div>
<div>SessionID = <span style="color:blue"><%=session.getId() %></span></div>
<%=new Date()%>
</body>
</html>
[root@redis1 ROOT]# systemctl restart tomcat

配置hosts解析
10.0.0.28 node1.magedu.org
访问node1.magedu.org:8080

10.0.0.8配置

[root@redis1 ROOT]# vim /usr/local/tomcat/conf/server.xml 
[root@zhao ROOT]# vim /usr/local/tomcat/conf/server.xml 
    <Engine name="Catalina" defaultHost="www.magedu.org">
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
       </Host>
       <Host name="www.magedu.org"  appBase="/data/tomcat/node1/"
                           unpackWARs="true" autoDeploy="true">
      </Host>
    </Engine>
  </Service>
</Server>
[root@redis1 ~]# mkdir -p /data/tomcat/node2/ROOT/
[root@redis1 ROOT]# cat /data/tomcat/node2/ROOT/index.jsp 
<%@ page import="java.util.*" %>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>tomcat test</title>
</head>
<body>
<h1> Tomcat Website2 </h1>
<div>On  <%=request.getServerName() %></div>
<div><%=request.getLocalAddr() + ":" + request.getLocalPort() %></div>
<div>SessionID = <span style="color:blue"><%=session.getId() %></span></div>
<%=new Date()%>
</body>
</html>
[root@redis1 ROOT]# systemctl restart tomcat

配置hosts解析
10.0.0.8 node2.magedu.org
访问node2.magedu.org:8080

nginx代理服务器,仅实现了http,https看文档第25章4.5.4.3
[root@zhao ~]# egrep -v "#|^" /apps/nginx/conf/nginx.conf worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream tomcat { # ip_hash; #hashcookie_jsession 写的不好 基于cooke的反正
server 10.0.0.8:8080;
server 10.0.0.28:8080;
}
server {
listen 80;
server_name www.magedu.org;
location / {
root html;
index index.html index.htm;
proxy_pass http://tomcat;
proxy_set_header Host http_host; proxy_set_header X-Forwarded-Forproxy_add_x_forwarded_for;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}

会话session粘性
1.tomcat自带的session复制
2.memcached
3.redis

安装memcached
yum install -y memcached
[root@myre ~]# vim /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"

OPTIONS="-l 127.0.0.1,::1"

[root@myre ~]# systemctl restart memcached.service

https://blog.51cto.com/shone/5237517

新的机器10.0.0.18
使用redis保持会话session
yum install redis -y
[root@myre ~]# vim /etc/redis.conf
bind 0.0.0.0
[root@myre ~]# systemctl enable --now redis

把包放在tomcat机器下的目录里,2台都做,不知道哪几个包 全拷了11个
[root@zhao lib]# ls /usr/local/tomcat/lib/ |grep jedis.jar
jedis-3.0.0.jar
然后修改tomcat的配置文件,倒数第二行开始加
[root@redis1 lib]# vim /usr/local/tomcat/conf/context.xml
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="redis://10.0.0.18"
sticky="false"
sessionBackupAsync="false"
lockingMode="uriPattern:/path1|/path2"
requestUriIgnorePattern=".
.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>
</Context>

[root@redis1 lib]# scp /usr/local/tomcat/conf/context.xml 10.0.0.28:/usr/local/tomcat/conf/context.xml
[root@redis1 lib]# systemctl restart tomcat
访问测试

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容