1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Ubuntu1404下 Tomcat8+Nginx+memcache配置服务器集群session共享

Ubuntu1404下 Tomcat8+Nginx+memcache配置服务器集群session共享

时间:2022-09-05 23:08:13

相关推荐

Ubuntu1404下 Tomcat8+Nginx+memcache配置服务器集群session共享

后端开发|php教程

quot,request,memcache,Tomcat,session

后端开发-php教程

之前配置的Tomcat集群使用的是Tomcat提供的简单的集群管理的方式:,这种集群session贡献使用的是:org.apache.catalina.ha.session.DeltaManager,它会将某个节点的session复制到集群的所有节点上,根据Tomcat官方文档,这种session共享方式在集群变大时,效果并不好。因此,我尝试使用memcached来让集群共享session。

微擎网站源码,vscode c c 调试,ubuntu默认程序,tomcat偶尔500,sqlite中的自增id,爬虫采集数据的合法性,php特殊字符正则表达式,seo更新后注意什么,租房网站织梦模板下载,响应式旅游网站模板lzw

配置参考的文档有:点击打开链接、在这个链接里可以找到与你的Tomcat匹配的jar包,以及Tomcat配置的方法。下面记录一下我的配置过程。

小程序 淘客 源码,vscode外部弹窗,ubuntu选择wifi上网,增加tomcat监控,sqlite压缩文本,winform皮肤插件,app前端用什么框架?,火山视窗爬虫,php 安卓,SEO是什么颜色,校无忧学校网站,网页图片边框代码,jquery个人网页模板下载,jsp登录页面模版,easyui 管理系统 源码,微信小程序报名源码lzw

1.根据前面博客的内容配置好Nginx反向代理;

导航页 源码 部署,ubuntu镜像安装不了,tomcat中间件的原理,爬虫java csdn,PHP创建链表的完整代码,公司seo方法lzw

2.在ubuntu下安装memcache:

可直接使用下面的命令进行安装

sudo apt-get install memcached

3.编辑/etc/memcached.conf文件:

这个文件里有各个参数的配置,在这里要把-l参数注释掉,因为默认情况下memcache会监听所有地址,或者把127.0.0.1改为0.0.0.0来让memcache监听默认地址。

如果不这么做的话,就只能在本机上使用memcached,其他机器连接不进来,也就没有了意义。

配置完后,可以使用如下的命令查看是否能连接memcache,其中ip是memcache主机安装的ip地址,11211是memcache的监听端口。

telnet ip 11211

4.在所有的Tomcat节点上编辑CATALINA_HOME/conf/context.xml文件,在标签下增加如下的配置。

memcachedNodes是配置安装了memcache的节点,cloud2和cloud3是主机名,必须是本机能识别的,n1和n2是我们取的memcached节点的名称,11211是memcache监听的端口,11211是默认的端口。

5.添加一些jar包到CATALINA_HOME/lib下

我这里使用到的包有:

memcached-session-manager-1.8.3.jarmemcached-session-manager-tc8-1.8.3.jarspymemcached-2.11.1.jar

6.然后就可以启动Tomcat和nginx进行测试了

我这里的测试思路是这样的,使用如下代码建立一个Servlet,然后部署到两个tomcat服务器上。只启动其中一个服务器,然后通过浏览器访问负载均衡服务器,可在浏览器上查看并记下此时的SessionID。然后关闭这个服务器,启动另一个tomcat服务器,然后再用相同的地址访问负载均衡服务器,再在浏览器上查看SessionID,若两次SessionID一致,则说明SessionID被共享了。

package com.cyber_space.Servlet;import java.io.IOException;import java.io.PrintWriter;import .Inet4Address;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class TestServlet */@WebServlet("/TestServlet")public class TestServlet extends HttpServlet {private static final long serialVersionUID = 1L;public TestServlet() {super();}protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {handle(request, response);}protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {handle(request, response);}private void handle(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setHeader("Content-type", "text/html;charset=UTF-8");String remoteIpString = request.getRemoteAddr() + " " + request.getRemoteHost() + " " + request.getRemoteUser();PrintWriter pw = response.getWriter();pw.println("请求来自:" + remoteIpString);request.getSession().setAttribute("5", 5);String sessionID = request.getSession().getId();pw.println("赋予它的SESSIONID是:" + sessionID);Inet4Address inet4Address = (Inet4Address) Inet4Address.getLocalHost();pw.println("服务器的IP地址是:" + inet4Address.getHostAddress());}}

这里还有许多可以做的工作暂时还没做,如高效的序列化配置等,以后有时间再来做。

版权声明:本文为博主原创文章,未经博主允许。

以上就介绍了Ubuntu1404下,Tomcat8+Nginx+memcache配置服务器集群session共享,包括了方面的内容,希望对PHP教学有兴趣的朋友有所帮助。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。