一、tomcat的部署
安装脚本
准备安装包,运行脚本进行安装,并验证
二、tomcat的使用介绍
1、tomcat的目录结构
bin:脚本及启动时用到的类
lib:类库
conf:配置文件
logs:日志文件
webapps:应用程序默认部署目录 已经编译好的jar/war包
work:工作目录
temp:临时目录
(1)tomcat配置文件中conf下包含有:
server.xml:主配置文件
context.xml:每个webapp专用的配置文件,通常位于webapp应用程序目录下的WEB-INF目录中,用于定义会话管理器、JDBC等。为各个webapp提供默认配置
web.xml:每个webapp部署完才能被访问,用于提供为所有webapp提供默认部署相关配置
tomcat-users.xml:用户认证账号和密码配置文件
catalina.policy:使用-security选项启动tomcat实例时,会读取此配置文件实现安全运行策略。
logging.properties:日志相关信息配置文件
(2)应用程序部署目录webapps
Tomcat下webapps,属于特定的组织形式,层次型的目录结构主要包含了servlet代码文件、JSP页面文件、类文件、部署描述文件等。
Webapps(应用程序部署基目录)所有的应用程序都在这里面:
WEB-INF:当前webapp私有资源目录,通常存放当前webapp自用的web.html
META-INF: 也是当前webapp的私有资源目录,通常存放webapp自用的context.xml
Classes:此webapp的私有类文件
Lib :此webapp的私有类,被打包为jsr格式类
Index.jsp :webapp主页
(3)访问webapps下的应用程序
默认访问的是webapps下的ROOT下的index.jsp页面
由于未编辑context.xml配置文件,故无法访问host-manager和manager,这两个部署的应用,不能同时进行访问的,因为其所修改的context.xml配置文件中的内容不兼容,两者无法同时满足。
2、tomcat主配置文件server.xml结构和详解
位置:/usr/local/tomcat/conf
server段:一个,tomcat运行进程实例
监听端口8005,可以基于此端口控制服务的关闭
查看tomcat进程文件,基于服务的IP地址以及开启的端口进行telnet连接进行控制服务的关闭
这里一般是将其关闭或者更改别的端口
service:用于将connector关联至engine组件,一个service只能包含一个engine组件和一个或者多个connector组件。
Engine:tomcat的核心组件,用于运行JSP和servlet代码,一个引擎上可绑定多个connector
Engine组件,默认的虚拟主机
Connector :接受并解析用户请求,将请求映射为engine中运行的代码,把运行结果构建响应报文。
Tomcat线程池,对tomcat进行并发响应管理(Java对应并发响应都是通过线程机制来实现)
不仅可以修改最大并发连接数,同时可以更改连接器的监听端口
提供HTTPS连接器
AJP协议,用于特殊场景
Host:虚拟主机,相当于httpd的虚拟主机
Context: 类似httpd中的alias,应用的上下文,定义路径别名
顶级类组件:Server,代表整个tomcat容器
服务类组件:Service,组织engine和connector,里面只能有一个engine
连接器组件:Connector ,有http(8080)、https(8443)、AJP(8009)协议、本地连接端口(8005)的连接器
容器类组件:Engine、host、context 都是容器类组件,可以嵌入其他组件,内部配置如何运行应用程序
被嵌套类组件:valve logger realm
3、tomcat应用程序的部署
(1)冷部署
在webapps中创建应用目录apps,在部署应用目录中创建描述符文件、类文件等。并将测试主页放进去。其中META-INF和WEB-INF是必须存在的。
冷部署时,需要先停止服务,对停止状态下的webapps进行启动,tomcat进行重新部署。
部署成功,访问验证。
(2)热部署
热部署:一般急于部署工具(manager、ant脚本、tcd等部署工具)
这里将所有manager部署工具进行热部署(服务不重启,进行访问的添加)
使用manager部署工具,需要修改tomcat中manager中的context.xml文件
其默认只支持本地用户进行使用,因此将其注掉。
返回页面,进行刷新验证
由于还未配置用户及密码,需要在conf/tomcat-users.xml 中设置用户及密码。
用户名tomcat,密码tomcat,用户角色,manager-gui。roles需要对应role
在manager部署应用工具中,可以直接将要部署的WAR文件进行上传,而不需要再停止tomcat服务后再启动
部署服务进行测试
在manager工具中提交helloworld.war文件
在这里,可以直接针对某些服务做启动和停止服务,还能做反部署“(卸载)服务
当将helloworld服务进行停止的时候,再次进行访问验证