设为首页 收藏本站
查看: 840|回复: 0

[经验分享] Tomcat 简明手册

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-8-10 09:51:28 | 显示全部楼层 |阅读模式
  Tomcat是一个带有jsp环境的servlet容器.servlet容器是一个根据用户的行为可
以管理和激活servlet的运行时的shell.
粗略地可以将servlet容器分为如下几类:
独立的servlet容器
内置有web服务器的一部分.指当使用基于Java的web服务器的情形,例如servlet
容器是JavaWebServer的一个部分. 独立的servlet容器是Tomcat的默认模式.
大多数的web服务器并非基于Java,因此,我们可以得出如下两种容器的模式.

进程内的servlet容器
servlet容器作为web服务器的插件和Java容器的实现.Web服务器插件在内部地址
空间打开一个JVM(java virtual machine)使Java容器得以在内部运行.如有某个需要调
用servlet的请求,,插件将取得对此请求的控制并将他传递(使用JNI)给Java容器.进程
内容器对于多线程,单进程的服务器非常合适并且提供很好的运行速度,但伸缩性有所不
足.

进程外的servlet容器
servlet容器运行于web服务器之外的地址空间且作为web服务器的插件和Java容
器的实现的结合.web服务器插件和Java容器 JVM使用IPC机制(通常是TCP/IP)进行通讯.
当一个调用servlet的请求到达时,插件将取得对此请求的控制并将其传递(使用IPC等)
给Java容器,进程外容器的反应时间或进程外容器引擎不如进程内容器,但进程外容器引
擎在许多其他可比的范围内更好(伸缩性,稳定性等).
Tomcat既可作为独立的容器(主要是用于开发与调试)又可作为对现有服务器的附
加(当前支持Apache,IIS和Netscape服务器).即任何时候配置Tomcat你都必须决定如何
应用他,如选择第二或第三种模式,你还需要安装一个web服务器接口.
Tomcat与Jserv有何区别?Tomcat是Jserv吗?
这是个常见的误解.Jserv是Servlet API2.0兼容并与Apache一起使用的容器
.Tomcat是一个完全重写的并与Servlet API2.2和JSP1.1兼容的容器.
Tomcat使用了一些为Jserv而写的代码,特别是Jserv的Apache接口,但这是唯一的
相同之处.
怎样安装Tomcat的二进制版本?
非常简单,只需:
下载 zip/tar.gz 任何压缩文件,从
http://jakarta.apche.org/download/binindex.html处.
解压缩此文件到某目录(如:foo).将会生成一子目录,名为”tomcat”.
转换到”tomcat”目录设置一新的环境变量(TOMCAT_HOME)指向你安装的tomcat
的目录
WIN32平台,键入:
“set TOMCAT_HOME=foo omcat”
Unix平台:
如是bash/sh环境, 键入:”TOMCAT_HOME=foo/tomcat;export TOMCAT_HOME”
如是tcsh环境, 键入:”setenv TOMCAT_HOME foo/tomcat”
设置环境变量JAVA_HOME指向你JDK的目录,然后添加JAVA解释器到你的PATH环境
变量.
好了!现在可以运行TOMCAT并作为一个独立的Servlet容器(模式一)
启动与关闭Tomcat
使用”bin”目录中的脚本启动与关闭Tomcat.
启动:
uinx:bin/startup.sh
win32:binstartup
关闭:
unix:bin/shutdown.sh
win32:binshutdown
Tomcat目录结构
假设你已将Tomcat解压,你已得到下列目录结构:
目录名--描述
bin
包含启动/关闭脚本
conf
包含不同的配置文件,
包括 server.xml(Tomcat的主要配置文件)和为不同的Tomcat配置的web应用设置
缺省值的文件web.xml
doc
包含各种Tomcat文档
lib
包含Tomcat使用的jar文件.unix平台此目录下的任何文件都被加到Tomcat的
classpath中
logs
Tomcat摆放日志文件的地方
src
ServletAPI源文件.先别高兴,这些只有些必须在Servlet容器内实现的空接口和
抽象类
webapps
包含web项目示例
此外你可以Tomcat会创建如下目录:
work
Tomcat自动生成,放置Tomcat运行时的临时文件(如编译后的JSP文件).如在
Tomcat运行时删除此目录.JSP页面将不能运行.
classes
你可以创建此目录来添加一些附加的类到类路径中.任何你加到此目录中的类都
可在Tomcat的类路径中找到自身.
Tomcat的脚本
Tomcat是一个Java程序,因此在设置好几个环境变量后即可用命令行的方式运行.
然而设置Tomcat使用的每个环境变量和如下的命令行参数乏味且易错.因此,Tomcat开发
组提供了一些脚本使启动和关闭Tomcat变得轻松.
注意:这些脚本仅仅是个便利的方法去启动和关闭Tomcat.你可修改他们来定制
CLASSPATH,环境变量如PATH,LD_LIBRARY_PATH,等等,只要是生成一个正确的命令行即可
.
这些脚本是什么呢?下表列出对一般用户最重要的脚本.
tomcat
主脚本.设置合适的环境变量,包括CLASSPATH,TOMCAT_HOME和JAVA_HOME和用适合
的命令行参数启动Tomcat
startup
在后台启动Tomcat.”tomcat start”命令的替换方式
shutdown
关闭Tomcat.”tomcat stop”命令的替换方式
对用户最重要的脚本是tomcat(tomcat.bat/tomcat.sh).其他Tomcat相关的脚本
作为一个简单的面向单任务的指向Tomcat脚本(设置不同的命令行参数等)的入口.
仔细考察tomcat.bat/tomcat.sh,它按以下步骤运行:
在Unix下的步骤:
如未指定,推测 TOMCAT_HOME
如未指定,推测 JAVA_HOME
设置CLASS_PATH包含:
1/classes目录(如果存在)
2/lib的一切内容
3/lib/tools.jar(此jar文件包含工具javac,我们需要javac处理
jsp文件.
运行带有设定Java环境变量的命令行参数的java命令,调入tomcat.home,和
org.apache.tomcat.startup.Tomcat 作为启始类.同时也传递命令行参数到
org.apache.tomcat.startup.Tomcat ,例如:
执行start/stop/run 等的操作
此Tomcat进程使用指向server.xml的路径,
例如server.xml放置于etc/server_1.xml并且用户意图在后台启动apache,键 入
如下命令行:
bin/tomcat.sh start ?Cf /etc/server_1.xml
在Win32下的步骤:(略)
  
由此可见,win32版的tomcat.bat与Unix版的几乎一致.尤其在它不推测
TOMCAT_HOME和JAVA_HOME的值,并且不将所有的jar文件放入类路径中.

Tomcat的配置文件
Tomcat的配置基于两个配置文件:
1.server.xml - Tomcat的全局配置文件
2.web.xml - 在Tomcat中配置不同的关系环境

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-96821-1-1.html 上篇帖子: tomcat下的server.xml详解 下篇帖子: Nginx+tomcat7的负载均衡和动静分离配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表