【java安装】

   sh jdk-6u32-linux-x64.bin
   mv jdk1.6.0_32/ /usr/local/java
   vi /etc/profile
     export JAVA_HOME=/usr/local/java
     export CLASSPATH=:$JAVA_HOME/lib
     export PATH=$PATH:$JAVA_HOME/bin
   source /etc/profile

【tomcat安装】----处理jsp动态页面
   tar zxf apache-tomcat-7.0.29.tar.gz
   mv apache-tomcat-7.0.29 /usr/local/tomcat
   cd /usr/local/tomcat/bin/
   ./startup.sh
   访问:http:192.168.0.88:8080
   
  处理jsp动态页面的路径:/usr/local/tomcat/webapps/ROOT
  vi test.jsp
     the time is <%=new java.util.Date() %>
  访问:http:192.168.0.88:8080/test.jsp 测试!

【nginx+tomcat】--nginx将动态页面交给tomcat处理
     vi /usr/local/lnmp/nginx/conf/nginx.conf

location ~ \.jsp$ {
            proxy_pass   http://127.0.0.1:8080;(可以是别的主机)
        }

nginx -s reload

【nginx+tomcat实现动态页面的均衡负载】
192.168.0.88:nginx,tomcat
192.168.0.119:tomcat
  vi /usr/local/lnmp/nginx/conf/nginx.conf
   upstream myproject {
     server 192.168.0.119:8080;
     server 192.168.0.25:8080;
      }
    location ~ \.jsp$ {
            proxy_pass   http://myproject;
        }
   测试:访问:http://myproject/test.jsp 关闭:192.168.0.88上的tomcat可以继续访问

请求处理图:
client -------> nginx:80(处理静态页面)<-------->tomcat1:8080---\
                                                        |                                        <-------->mecache(实现会话序列化)
                                                          <--------->tomcat2:8080---/

Tomcat-1 (T1) 将 session 存储在 memcached-2 (T2)上。只有当 M2 不可用时,T1 才将 session 存
储在 memcached-1 上(M1 是 T1 failoverNode)。使用这种配置的好处是,当 T1 和 M1 同时崩
溃时也不会丢失 session 会话,避免单点故障。

【sticky模块加载】
  ./configure --with-http_stub_status_module --with-http_ssl_module --user=nginx --group=nignx --prefix=/usr/local/lnmp/nginx/ --add-module=/root/nginx-sticky-module-1.0
  make && make install
  vi /usr/local/lnmp/nginx/conf/nginx.conf 
       upstream myproject {
        sticky;
        server 192.168.0.119:8080;
        server 192.168.0.88:8080;
       }
  nginx -s reload
测试脚本:test.jsp
*********************************************************************
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.util.*" %>
<html><head><title>Cluster App Test</title></head>
<body>
Server Info:
<%
out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>
<%
out.println("<br> ID " + session.getId()+"<br>");
String dataName = request.getParameter("dataName");
if (dataName != null && dataName.length() > 0) {
String dataValue = request.getParameter("dataValue");
session.setAttribute(dataName, dataValue);
}
out.print("<b>Session list</b>");
Enumeration e = session.getAttributeNames();
while (e.hasMoreElements()) {
String name = (String)e.nextElement();
String value = session.getAttribute(name).toString();
out.println( name + " = " + value+"<br>");
System.out.println( name + " = " + value);
}
%>
<form action="test.jsp" method="POST">
name:<input type=text size=20 name="dataName">
<br>
key:<input type=text size=20 name="dataValue">
<br>
<input type=submit>
</form>
</body>
</html>
***********************************************************************

访问:http://desktop88.example.com/test.jsp 观察会话,关闭一方的tomcat

【nginx+tomcat+memcache】
把如下软件包放置到/usr/local/tomcat/lib 目录中
kryo-1.03.jar
kryo-serializers-0.8.jar
memcached-2.5.jar
memcached-session-manager-1.5.1.jar
memcached-session-manager-tc7-1.5.1.jar
minlog-1.2.jar
msm-kryo-serializer-1.5.1.jar
reflectasm-0.9.jar
在192.168.0.88
vim /usr/local/tomcat/conf/context.xml
  <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
     memcachedNodes="n1:192.168.0.88:11211,n2:192.168.0.119:11211"
     failoverNodes="n1"  (在192.168.0.119上是n2)
     requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
     transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
  />
 双机:yum install memcached -y
      /etc/init.d/memcached start
  测试:关闭访问到的tomcat,看会话是否能继续!

注意: 
  【查看memcache信息】
     在访问192.168.0.88时,它的数据存储在192.168.0.119的memcache中(通过端口11211)
[root@server25 bin]# telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
stats items
STAT items:5:number 1
STAT items:5:age 37
STAT items:5:evicted 0
STAT items:5:evicted_nonzero 0
STAT items:5:evicted_time 0
STAT items:5:outofmemory 0
STAT items:5:tailrepairs 0
END
stats cachedump 5 0
ITEM 32F14C81BF8100FF382AF4C5D1725628-n2 [126 b; 1346918092 s]
END
get 32F14C81BF8100FF382AF4C5D1725628-n2
VALUE 32F14C81BF8100FF382AF4C5D1725628-n2 2048 126
S9?w?w9?w?019?w??9?w??#32F14C81BF8100FF382AF4C5D1725628-n2degrsgwuser2westosuser1westos
END

java+nginx+tomcat+memcache相关推荐

  1. nginx+tomcat+memcache实现负载均衡、session共享

    实验架构图: Table of Contents 1.配置tomcat 2.安装memcache 3.查看tomcat和memcache是否配置好 4.nginx实现负载均衡: 5.客户端进行测试: ...

  2. nginx+tomcat+memcached

    ######### nginx+tomcat+memcache ############ 实验环境 rhel6.5 3台主机iptables防火墙关闭 实验主机 172.25.8.2    nginx ...

  3. nginx+tomcat+memcached负载均衡

    2019独角兽企业重金招聘Python工程师标准>>> nginx+tomcat+memcached负载均衡 负载均衡: 负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服 ...

  4. Nginx+Tomcat+Memcached实现session共享

    实验环境: server1:nginx tomcat memcached server2:tomcat memcached Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入 ...

  5. Nginx+tomcat+memcached缓存共享session

    Nginx+tomcat+memcached缓存共享session session 的序列化方案官方推荐的有 4 种: 1. java serialization 2. msm-kryo-serial ...

  6. nginx+tomcat+msm实现seesion共享

    说明 上一章节 nginx+tomcat+redis负载均衡,实现session共享,本次我们使用另一种方式来实现session会话共享,以及实现一套线上运行的环境, 重定提示 本次将重点列于 mem ...

  7. Nginx+Tomcat服务器负载均衡实践方案

    1.    为何选择Nginx+Tomcat做负载均衡? 1.1. Nginx是什么? Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3 ...

  8. Nginx+Tomcat构筑Web服务器集群

    代理服务 代理服务可简单的分为正向代理和反向代理: 正向代理: 用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请 ...

  9. 47.nginx+tomcat群集

    nginx+tomcat群集 Tomcat服务是一个免费的开源web应用服务,属于轻量级应用服务器,一般用于中小型网络,tomcat通常作为一个Servlet和JSP容器单独运行在后端. 环境部署:一 ...

最新文章

  1. DroidPilot 发布微信公众帐号啦~
  2. PHP调用wsdl文件类型的接口代码分享
  3. JAVA——自定义排序(实现Comparable接口)
  4. 【51单片机快速入门指南】6.1:LCD1602的八线、四线控制及自定义符号,完美兼容Proteus仿真
  5. 【软件测试】软件测试分类详述
  6. leetcode - 1025. 除数博弈
  7. ISIS 7 Professional运行报错解决方案
  8. MQTT测试工具推荐
  9. Google-Spyder:Google搜索引擎关键词检索结果抓取
  10. 读《我怎样设计飞机》
  11. Silvaco TCAD仿真学习Lesson1——Atlas仿真
  12. x是小于9的非负数的matlab,x是小于10的非负数”,用MATLAB表达式可写为
  13. 图片还原去遮挡_怎么消除马赛克 还原图片去掉遮挡软件
  14. 刷题总结——宠物收养所(bzoj1208)
  15. hdf heg 批量拼接_MODIS数据处理新工具(HDF-EOS To GeoTIFF Conversion Tool,HEG_2.15)官方使用说明...
  16. 软件构造LAB1的一些思考
  17. 软件测试就是找茬的?那些年和开发小哥的“爱恨情仇”
  18. s24.基于 Kubernetes v1.25 (二进制) 和 Docker部署高可用集群
  19. 如何更简单的使用Polly
  20. 【ps合成】给男票做个Q版大头像

热门文章

  1. pymol怎么做底物口袋表面_如何系统的去做有机合成工艺优化---之实战策略
  2. vue光标插入内容_vue项目中在可编辑div光标位置插入内容的实现代码
  3. 完全背包——方案个数 UVA11137 Ingenuous Cubrency
  4. 二叉树经典题之二叉树的非递归遍历
  5. C++设计模式-Composite组合模式
  6. PCI总线的含义是什么?PCI总线的主要特点是什么?
  7. 最大字段和---C语言实现
  8. python时间的转换及比较
  9. python制作饼状图
  10. 树:哈夫曼树和哈夫曼编码的详细介绍以及代码实现