Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10326956
  • 博文数量: 1669
  • 博客积分: 16831
  • 博客等级: 上将
  • 技术积分: 12594
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-25 07:23
个人简介

柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!

文章分类

全部博文(1669)

文章存档

2023年(4)

2022年(1)

2021年(10)

2020年(24)

2019年(4)

2018年(19)

2017年(66)

2016年(60)

2015年(49)

2014年(201)

2013年(221)

2012年(638)

2011年(372)

分类: 系统运维

2012-10-25 09:39:34

话说tomcat的前世今生  

2012-10-23 10:58:51|  分类: apache_tomcat |  标签: |字号 

话说tomcat的前世今生

一:Tomcat 的由来

  1. Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。
  2. 由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。
  3. 因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
  4. 目前最新版本是Tomcat 7.0.29 
  5. 重要的是Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选 
  6. jdk-7u5-linux-i586.rpm  为tomcat的运行提供java环境即运行环境 

二:Tomcat的逻辑结构

  1. 下面我们就围绕这个tomcat的逻辑结构图,展开对tomcat的解说 
  1. Tomcat的配置文件

  1. tomcat的逻辑结构: 
  2. 通过上面的图示我们可以看出 
  3. Tomcat server 是由 service , Engine,Host,context(应用程序)组成 
  4. 其中 service 通过 多个Connector与Engine连接 
  5.      注意:目前主要的连接器connector有http (仅支持http/1.1版本)和AJP 
  6. Engine内部又包含多个host主机 
  7. 一个engine可以包含多个host但是需要一个默认的host 
  8. 对host 主机tomcat提供了Valve  Realm logger 机制 
  9. 一个host又可以包含多个Context 
  10. 每一个Context仅对应与一个web应用程序 
  11. 一个host可以包含多个context  
  12. 一个context对于与一个web应用程序 
  13. 而每一个web应用程序又至少需要web.xml当前应用程序的部署描述符 

2. Tomcat的目录解释

  1. tomcat目录结构 
  2.   /bin:存放配置,控制,停止catalina server 的一些相关脚本 
  3.   /conf:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml 
  4. /doc:存放Tomcat文档 
  5. /webapps:Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录 
  6. 子目录WEB_INF/目录:包含三个子目录:classes、lib和web.xml  
  7.                     其中 classes 是应用运行时需要的私有类(编译好的可执行字节码),
  8. lib中存放的是应用运行时需要的公共类 web.xml 当前应用程序的部署描述符 
  9.  子目录 host-manager  ,manager 提供的是Tomcat的web管理工具 
  10. /work:存放JSP编译后产生的class文件 
  11. 实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的 
  12. 所以 Apache和通过Connector与Tomcat连接,实现Apache在web前端仅处理用户请求的静态内容,
  13. 用户请求的动态内容通过Connector交给后端的Tomcat server 处理,从而实现对用户请求内容的快速响应。 

三 :tomcat的web管理方式

  1. Tomcat的web管理有两种方式host manager和manager  

  1. 但是图示中的三种web管理方式(除status)这两者都需要具有角色内的用户才有权
  2. 限访问 
  1. 添加角色 
  2. <tomcat-users> 
  3.         <role rolename="manager-gui" /> --?Manager角色的定义方式 
  4.         <user username="tomcat" password="tomcat" roles="manager-gui" /> 
  5. <role rolename="admin-gui" /> ---? Host Manager角色的定义方式 
  6. <user username="tom" password="tom" roles=”admin-gui" />  --- 
  7. < / tomcat-users> 
  8. 访问验证一下:

四:tomcat的用户会话管理(session manager)

  1. 分为标准会话管理:该会话管理方式中tomcat服务需要正常关闭,否则用户会话将会丢失 
  2.               或者将所有用户的会话信息都定期的保存在磁盘上某一个文件中(而非实时的保存用户会话信息)通常为.ser文件 
  3. <ManagerclassNameManagerclassName="org.apache.catalina.session.StandardManager" maxInactiveInterval="7200" /> 
  4. maxInactiveInterval指的是将用户的会话信息保存2个小时 

  1. 验证: 

  1. /usr/local/tomcat/bin/catalina.sh stop 
  2. /usr/local/tomcat/bin/catalina.sh start 

  1. 说明:只要用户一直在线,用户的会话信息就会一直保持及时tomcat服务器重启,
  2. 但是这种实现方式需要tomcat服务正常的关闭,否则用户的会话信息不能得到保存 ,就出现了下面
  3. 的一致解决用户会话信息保存的问题了

  1. 持久会话管理: 将用户的会话信息保存至持久存储中,并且可以再服务器意外终止后重新启动时加载用户会话信息,
  2. 在改种会话管理的方式中,用户会话信息保存至文件存储Filestore(.session文件)或者JDBCStore存储中 
  3. <Manager className="org.apache.catalina.session.PersistentManager" 
  4.                 saveOnRestart="true"> 
  5.  <Store className="org.apache.catalina.session.FileStore"directory="/data/tomcat-session"  /> 
  6. Manager> 
  7. 注意:如果是JDBCStore的是directory需要更正 
阅读(954) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~