tomcat版本及环境
Using CATALINA_BASE: /usr/local/81tomcat
Using CATALINA_HOME: /usr/local/81tomcat
Using CATALINA_TMPDIR: /usr/local/81tomcat/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/81tomcat/bin/bootstrap.jar:/usr/local/81tomcat/bin/tomcat-juli.jar
Server version: Apache Tomcat/7.0.62
Server built: May 7 2015 17:14:55 UTC
Server number: 7.0.62.0
OS Name: Linux
OS Version: 2.6.32-358.el6.x86_64
Architecture: amd64
JVM Version: 1.7.0_75-b13
JVM Vendor: Oracle Corporation
更改配置
vi /usr/local/81tomcat/conf/context.xml
将context标签的内容改为如下内容
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:192.168.10.80:5555,n2:192.168.10.80:4444" <!--memcache接点:memcache_ip:memcache_port-->
sticky="false"
sessionBackupAsync="false"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"/>
</Context>
然后添加所需的jar包
文章就再这儿了
官方列出的包如下
memcached-session-manager-1.8.3.jar
memcached-session-manager-tc7-1.8.3.jar
spymemcached-2.11.1.jar
第一个包和第二个包的关系是最后的版本对应这里是1.8.3版本,第二个包里的tc7表示tomcat7
实际上我添加的包有如下几个:
apache-tomcat-7.0.62.tar.gz
asm-3.2.jar
commons-codec-1.5.jar
couchbase-client-1.2.2.jar
httpcore-4.1.1.jar
httpcore-nio-4.1.1.jar
jettison-1.1.jar
kryo-1.04.jar
kryo-serializers-0.11.jar
memcached-session-manager-1.8.3.jar
memcached-session-manager-tc7-1.8.3.jar
minlog-1.2.jar
msm-kryo-serializer-1.6.5.jar
netty-3.5.5.Final.jar
reflectasm-1.01.jar
spymemcached-2.11.1.jar
tomcat.tar.gz
具体参考
http://code.google.com/p/memcached-session-manager/wiki/SetupAndConfiguration
如上的三个包可以在这个位置下载得到,其他的去mvn源可以找到
memcached-session-manager-1.8.3.jar
memcached-session-manager-tc7-1.8.3.jar
spymemcached-2.11.1.jar
添加完包和配置之后,进行安装memcache
http://memcached.org/files/memcached-1.4.24.tar.gz
cd memcached-1.4.24 && yum -y install libevent libevent-devel && ./configure --prefix=/usr/local/memcached && make && make install
启动memcached
/usr/local/memcached/bin/memcached -d -m 1024 -u root -p 4444 -c 1024 -P /tmp/memcached.pid && echo "/usr/local/memcached/bin/memcached -d -m 1024 -u root -p 4444 -c 1024 -P /tmp/memcached.pid" >> /etc/rc.local
然后在写个测试页面
vi /usr/local/81tomcat/webapps/ROOT/index.jsp
内容如下
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>TEST PATES</title>
</head>
<body>
SessionID:<%=session.getId()%>
<BR>
<%
out.println("Tomcat port 8081."); <!--另一个tomcat 写别的端口-->
%>
</body>
</html>
五月 27, 2015 3:45:07 下午 de.javakaffee.web.msm.MemcachedSessionService startInternal
信息: starts initialization... (configured nodes definition n1:192.168.10.80:5555,n2:192.168.10.80:4444, failover nodes null)
2015-05-27 15:45:07.920 INFO net.spy.memcached.MemcachedConnection: Added {QA sa=/192.168.10.80:5555, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue
2015-05-27 15:45:07.920 INFO net.spy.memcached.MemcachedConnection: Added {QA sa=/192.168.10.80:4444, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue
2015-05-27 15:45:07.921 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@56b94f31
2015-05-27 15:45:07.922 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@1ffe4672
五月 27, 2015 3:45:07 下午 de.javakaffee.web.msm.MemcachedSessionService setLockingMode
信息: Setting lockingMode to NONE
五月 27, 2015 3:45:07 下午 de.javakaffee.web.msm.MemcachedSessionService createTranscoderFactory
信息: Creating transcoder factory de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory
五月 27, 2015 3:45:07 下午 de.javakaffee.web.msm.MemcachedSessionService startInternal
信息: --------
- finished initialization:
- sticky: false
- operation timeout: 1000
- node ids: [n1, n2]
- failover node ids: []
- storage key prefix: null
--------
五月 27, 2015 3:45:09 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory /usr/local/81tomcat/webapps/rw has finished in 21,329 ms
安装和配置nginx
wget http://nginx.org/download/nginx-1.9.1.tar.gz && tar -zxvf nginx-1.9.1.tar.gz && cd nginx-1.9.1 && yum -y install pcre pcre-devel zlib zlib-devel && configure --prefix=/usr/local/nginx && make && make install
编辑nginx配置文件在最后一个"}"之前加入如下内容:
upstream test {
server 192.168.10.241:8081;
server 192.168.10.241:8082;
#ip_shash; 此处千万不要加这个命令,否则nginx不会采用轮询的方式调度后边的tomcat
}
server {
listen 88;
server_name ;
location / {
# proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://test;
}
}
然后浏览器输入
http://nginx_host_IP:88
连续刷新,会发现session不变,而后边的tomcat第一次是8081第二次是8082公平轮询
############################
作者:john
迷途小运维原创
转载请注明出处
文章浏览阅读2.9k次。一个Google colab的实例最长可以持续12小时,窗口关闭后只会继续跑90分钟。!pip install -U -q kaggle!mkdir -p ~/.kaggle!echo '{"username":"pupil3","key":"a56f1ff7585ceb0a1d98f25d7bd514d3"}' > ~/.kaggle/kaggle.json!chmod ..._colab 解压缩包
文章浏览阅读631次。对象关系映射(Object-Relationl Mapping,简称ORM)模式是一种为了解决面向对象和关系数据库(如mysql数据库)存在的互相不匹配的现象的技术。_withpreload gorm
文章浏览阅读269次。安装好CentOS后,第一次进入系统使用locate命令,结果出现:locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory解决办法运行updatedb命令即可,如下图所示:转载于:https://www.cnblogs.com/Richard-xie/p/47074..._/var/lib/plocate/plocate.db: no such file or directory
文章浏览阅读1k次。Webpack笔记从使用 webpack 的角度来说,搞清楚 webpack 的配置即可安装需要 node 14+ 和 npm(安装 node 时自动安装)。全局安装npm install webpack webpack-cli -g局部安装(推荐)npm init -y-D 表示安装的开发依赖。加不加并不影响,但是推荐加,这样项目 package.json 会整洁些。npm install webpack webpack-cli -D基本使用在新建项目的时候使用 webpack _webpack5、vite2
文章浏览阅读2.4w次,点赞22次,收藏70次。先在讨论python导入问题时,先弄清楚几个重要概念和区别:一、什么是模块,什么是脚本(script vs module)二、命名(naming)三、不通过包导入访问一个模块四、相对导入…五、…只能用在相对导入当使用六、脚本不能包含相对导入七、解决办法感谢博主 小舔哥 :https://www.cnblogs.com/jiaxin359/p/7580375.html ..._attempted relative import beyond
文章浏览阅读1k次。基于 MySQL 的批量事务消息队列消息队列本质上是一个存储介质,通常是链表结构,不同的进程或线程可以向消息队列中写入或读取消息。消息队列的使用场景有很多,比如异步处理任务、应用解耦、流量削锋等等。通常我们使用消息队列,都是直接使用 MNS、RocketMQ、Kafka 等产品。但某些场景下这些产品也难以满足,或者使用起来成本比较高,比如:批量创建大量(比如 1 万条)消息,并且要么都写入,要么不..._mysql 大量 update 走队列机制
文章浏览阅读4.4k次。1.打开Net Configuration Assistant 2.选择监听程序配置,下一步3.选择重新配置,下一步4.选择监听程序,默认,下一步注:如果你的监听已启动,则出现提示框,选择是5.选择协议,使用默认的TCP协议,下一步6.选择端口号,使用标准端口号1521,下一步7.不配置另一个监听程序,选择否,下一步8.监听程序配置完成,下一步重配服务名,测试连接1.选择Net..._net 无监听程序
文章浏览阅读269次。001: [BeiJing2006]狼抓兔子Description现在小朋友们最喜欢的”喜羊羊与灰太狼”,话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一个网格的地形: 左上角点为(1,1),右下角点为(N,M)(上图中N=4,M=5).有以下三种类型的道路 1:(x,y)<==>(x+1,y) 2:(x,y)<=_网格图最小割 bzoj1001
文章浏览阅读129次。In this article we will discuss how we can perform CRUD operations on a backbone model using a REST based HTTP service.[size=large][b]Background[/b][/size]Earlier we have discussed about the b..._backbone.js实现crud
文章浏览阅读2k次。一、样式的实现 <TextView android:layout_width="wrap_content" android:layout_height="50dp" android:layout_gravity="center" andro..._android radiobutton 自定义样式
文章浏览阅读3.6w次,点赞29次,收藏82次。前几天有个美女问我stl文件怎么处理,很尴尬我也处理不了,为了避免再次发生这种情况,所以我做了这个小软件。其下载链接将在文末给出。因为是电脑软件,所以使用的是.net c# 编写,ide是秒天秒地秒空气的visual studio。下面分几步说一下思路和代码过程:1、stl文件和stp文件的数据存储形式一、stl文件格式stl的文件格式是很容易就能找到的,比如说直接问度娘:..._stl转stp
文章浏览阅读239次。题目链接:https://vjudge.net/contest/232313#problem/H思路:紫书上写的很详细了:不是等到一个颜色全部移完之后再相加,而是每次都计算已经开始但还没结束的颜色的个数并将长度累加。所以,用res[i][j]表示第一个串还剩i个,第二个串还剩j个,已经开始但还没结束的字符个数。dp[i][j]表示第一个还剩i个,第二个串还剩j个,还需要的最小指标函数。..._dp颜色函数