Java应用服务器之tomcat基础配置一

  前文我们聊到了java相关重要组件和它们之间的关系以及jdk、tomcat部署回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13302938.html;今天我们来聊一聊tomcat的配置使用相关话题;

  一、tomcat配置相关文件简介

  1、server.xml

  server.xml的配置文件格式大致如下

<Server>
    <Service>
        <connector/>
        <connector/>
         ...
        <Engine>
            <Host>
                <Context/>
                <Context/>
                ...
            </Host>
            <Host>
            ...
            </Host>
            ...
        </Engine>
    </Service>
</Server>

  提示:server.xml是tomcat的主配置文件,主要定义server属性相关参数,而server中核心的组件有service(服务)、connector(连接器)、engine(引擎)、host(虚拟主机)、context(上下文);这些组件它们都有一定联系,其中一个service中可以包含一个或多个连接器(connector),其次就是引擎(engine),引擎是tomcat运行jsp代码的核心组件,通常情况一个连接器只能对应一个引擎,而一个引擎可以对应多个连接器,可以包含多个host,host我们可以理解为httpd中的基于名称的虚拟主机;一个host中可以一个或多个context;context的主要作用是定义location与文件系统路径的对应关系和访问权限相关配置;

  对于tomcat配置文件server.xml中的组件,其实都是Java的类实现,这些组件大体可分为如下类型:

  顶级组件:Server

  服务类组件:Service

  连接器组件:http,https,ajp(apache jserv protocol)

  容器类:Engine,Host,Context

  被嵌套类:valve,logger,realm,loader,manager,...

  集群类组件:listener,cluster,...

  2、web.xml:每个webapp只有部署后才能被访问,它的部署方式通常由web.xml进行定义,其存放位置为WEB-INF/目录中;通常情况每个webapp项目中都会有WEB-INF或META-INF目录,该目录就是用于存放该项目部署相关配置(web.xml或者context.xml),如果对应项目里没有这个目录,那么tomcat中的web.xml就提供默认部署相关配置;

  3、context.xml:webapp的专用配置文件,其存放位置为WEB-INF/目录中;该文件和web.xml文件类似,如果对应webapp项目中没有WEB-INF或META-INF目录,那么tomcat中的content.xml就是为其提供默认配置;

  4、tomcat-users.xml:用户认证的账号和密码文件;

  5、catalina.policy:当使用-security选项启动tomcat时,用于为tomcat设置安全策略;

  6、catalina.properties:Java属性的定义文件,用于设定类加载器路径,以及一些与JVM调优相关参数;

  7、logging.properties:日志系统相关的配置;

  二、webapp的组织结构

    /:webapps的根目录

    index.jsp:主页脚本,类似fpm中的index.php;

    WEB-INF/:当前webapp的私有资源路径;通常用于存储当前webapp的web.xml和context.xml配置文件;所谓私有资源路径就是在对应url上无法进行访问的资源(不能以uri的方式被其他人访问到);

    META-INF/:此目录作用类似WEB-INF/;

    class/:存储当前webapp所提供的类文件;

    lib/:存储类文件目录,当前webapp所提供的类被打包成jar格式的类文件;

  webapp归档格式:

    .war这类文件是webapp的归档文件,里面包含了整个webapp的所有文件,类,我们可以理解.war格式的文件就是整个webapp所有文件的压缩归档文件,通常我们直接把该文件放在webapps目录下然后启动tomcat,这个包会自动展开;通常.war包用于部署单元来使用;

    .jar这类文件通常是把类和类相关的资源封装压缩在一起的归档文件;通常用于部署和封装库、组件和插件程序;

    .rar这类文件主要是资源适配器类打包文件的格式;

    .ear这类文件是企业级webapp打包文件,和.war不同的是,ear是针对EJB容器,.war针对web容器;ear包含war;

  三、部署webapp的相关术语:

    1、deploy(部署):所谓部署就是把webapp的源文件放置于目标目录(网页程序文件存放目录,类似httpd中的documentroot指定的目录),然后配置tomcat服务器能够基于web.xml和context.xml文件中定义的路径来访问webapp;然后将其特有的类和依赖的类通过类加载器(class loader)装载至jvm的这一过程;部署第方式有两种,一种是自动部署(auto deploy),自动部署就是我们直接把webapp文件放置对应目录下就可以实现访问,不需要人为手动的去配置部署;另外一种就是手动部署,手动部署又可以分为冷部署和热部署;所谓冷部署就是把webapp源码文件放到指定位置,然后启动tomcat这种方式叫冷部署;热部署指的是在不停止tomcat的前提下进行部署的方式;常用的部署工具有:manager、ant脚本和tcd(tomcat client deployer)等;

    2、undeploy(反部署):所谓反部署就是部署的逆向操作,停止webapp并从tomcat实例上卸载webapp的操作叫反部署;

    3、start:启动处于停止状态的webapp;

    4、stop:停止webapp,使其不再像客户提供服务,但是类依然在jvm上;

    5、redeploy:重新部署;

  示例:手动提供一测试类应用,并冷部署到tomcat上

  1、创建目录结构

  提示:在webapps目录下创建项目目录;这里说一下webapps目录,这个目录默认配置是支持热部署的,其中ROOT目录是主站点源码文件存放地,存放在ROOT目录下的文件在访问时可以不用加任何uri就可以访问得到,其他目录需要加对应目录名为uri才可以被访问;

  2、创建index.jsp文件

  提示:index.jsp文件中就做了一件事,打印hello world这句话;

  3、更改目录权限

  提示:新建的文件我们需要保证tomcat用户有可以正常的读取即可,对于目录tomcat用户可以进入即可;

  4、启动tomcat

  提示:默认情况tomcat所在webapps目录下的子目录是可以通过访问对应目录名称访问到的,我们把网页脚本文件放到webapps目录下的子目录下,不停tomcat也是可以访问到,原因是tomcat默认就支持热部署;如下配置文件所示

  验证:用浏览器访问我们刚才部署testwebapp,看看是否能够被访问到?

  提示:可以看到我们访问对应子目录的名称是可以正常访问到对应目录下的index.jsp文件;

  四、利用tomcat的两个管理应用来部署webapp

  1、给manager应用配置账号

  提示:tomcat-user.xml这个配置文件主要是定义用户相关配置;以上配置表示启动manager-gui角色,并添加tomcat用户拥有manager-gui角色的所有权限;这需要注意一点username password roles 这几个变量之间是用空格做分割的,不要忘记每个变量赋值后,用空格分割,最后一个不需要有空格;

  重启tomcat服务

  网页登陆manager app

  提示:登录到manager app后,我们就可以看到tomcat上所有的webapp,我们可以在后面进行操作,停止启动,和重载以及卸载对应webapp;

  测试:停止/test 看看对应webapp是否还可以访问?

  提示:可以看到当我们把对应webapp停止后,对应webapp就不能够访问了,访问它会告诉我们该资源未找到,404错误;

  启动/test webapp,看看是否马上就可以访问了呢?

  2、给host-manager配置账号

  提示:启动admin-gui角色,并把admin-gui角色拥有的权限附加到tomcat用户上;

  重启tomcat

  登录主站的host manager

  提示:可以看到登录host-manager 应用中,我们可以看到有一个默认的host是localhost,和一些服务器相关信息;

  添加一个host

  提示:app base路径需要在服务器上有该路径,并且需要我们把对应的源码文件放进去;还需要注意对应目录tomcat用户可以读和进入到该目录的权限;

  在windows上配置解析www.test.com 为192.168.0.22

  测试:访问我们刚才添加的host,看看是否能够访问到?

  提示:tomcat监听在8080,所以我们访问添加的虚拟主机也需要把端口带上;从上面的访问结果看,它提示我们404网页文件未找到;其原因是我们在/tmp/下的/test/目录没有ROOT目录,默认情况访问虚拟主机,就相当于访问这个虚拟主机的主站,所谓主站就是访问的rul上没有rui,如上图所示;这时tomcat它会去对应目录下找ROOT目录里的主页文件(index.jsp);

  提示:修改了/tmp/test/下的目录结构后,现在在访问看看?

  提示:更改了/tmp/test/目录结构后,直接访问就可以访问到对应的页面了,这里需要注意一点,如果我们刚才添加虚拟主机时,没有勾选支持自动部署,我们还需要去部署才可以访问;

  登录server status 应用

  提示:用刚才的tomcat用户就可以直接登录server status 应用,因为刚才配置的tomcat用户是 admin-gui角色和manager-gui角色,这两个角色都有登录访问server status的权限;

  提示:server status 应用主要是用于查看服务器状态相关的信息;该页面主要记录了tomcat版本,jvm版本和对应服务器的版本信息以及服务器主机名,ip地址;jvm内存池使用相关信息;ajp连接器相关链接信息和http连接器相关信息;通过查看状态页面,我们可以了解到服务器和tomcat的情况,从而进行优化和调整;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


&lt;servlet&gt; &lt;servlet-name&gt;tomcatpooljsp&lt;/servlet-name&gt; &lt;jsp-file&gt;/WEB-INF/tomcatpool.jsp&lt;/jsp-file&gt; &lt;/servlet&gt; &lt;servlet-mapping&gt; &lt;servlet-name&gt;tomcatpooljsp&lt;/servlet-nam...
遵循Java Servlet 规范第4节中的建议 ,Apache Tomcat实现了系统地重新加载Java类的方法,以允许在不重新启动整个服务器的情况下更新应用程序的组件。 此功能对于开发非常重要,因为事实证明,随着服务器启动和重启时间的延长,这会严重浪费开发人员的时间。实际上,Java EE堆栈应用服务器的服务器重新启动时间很慢,这是Tomcat广泛用于个人和企业级项目的推动力之一。但是,即使Tomcat也无法 像运行时重新加载应用程序一样快地启动。通过仅重新加载隔离的应用程序的更改的类,开发人员..
JMX(Java管理扩展)是一项非常强大的技术,可让您管理,监视和配置Tomcat MBean。如果您是Tomcat管理员,那么您应该熟悉如何在tomcat中启用JMX来监视堆内存,线程,CPU使用率,类以及配置各种MBean。在本文中,我将讨论如何使用JConsole启用并连接到Tomcat。我假设您已经安装了Tomcat(如果没有);您可以参考安装指南。转到安装了Tomcat的路径 转到bin文件夹 将文件创建为“ setenv.sh” 使用vi编辑器修改文件并添加以下内容
总览介绍 建立 取得Java 获取TomCat 将TomCat安装为Windows服务 将TomCat设置为Linux服务(系统化) 使用Nginx作为反向代理 基本用法 手动启动和停止TomCat 验证TomCat服务器正在运行 服务静态文件 服务Java服务器页面(JSP) 修改设定 部署网络应用 使用管理网页界面 创建一个TomCat管理员用户 访问管理网络应用 管理网络应用 结论 参考链接介绍在最简单的概念中,To.
PSI Probe是Lambda Probe的社区驱动分支,使用相同的开源许可证(GPLv2)分发。它旨在替换和扩展Tomcat Manager,从而使管理和监视Apache Tomcat实例更加容易。与许多其他服务器监视工具不同,PSI Probe不需要对现有应用程序进行任何更改。它通过可访问Web的界面提供所有功能,只需将其部署到服务器即可使用。这些功能包括:请求:即使在每个应用程序的基础上,实时监视流量。 会话:浏览/搜索属性,查看上一个IP,到期,估计大小。 JSP:浏览,查看源代码,进
监视和管理Tomcat目录介绍 启用JMX远程 使用JMX远程Ant任务管理Tomcat JMXAccessorOpenTask-JMX打开连接任务 JMXAccessorGetTask:获取属性值Ant任务 JMXAccessorSetTask:设置属性值Ant任务 JMXAccessorInvokeTask:调用MBean操作Ant任务 JMXAccessorQueryTask:查询MBean Ant任务 JMXAccessorCreateTask:远程创建MBean Ant任
1.tomcat与jetty都是一种servlet引擎,他们都支持标准的servlet规范和javaEE规范
“The origin server did not find a current representation for the target resource...
Artifacts是maven中的一个概念,表示某个module要如何打包,例如war exploded、war、jar、ear等等这种打包形式;
使用 IDEA 编辑器开发项目十分便捷,这里介绍使用 IDEA 编辑器添加 Tomcat
这篇“servlet和tomcat的知识点有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅...
这篇文章主要讲解了“Tomcat管理平台实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Tomcat管理平...
本文小编为大家详细介绍“tomcat虚拟主机怎么配置”,内容详细,步骤清晰,细节处理妥当,希望这篇“tomcat虚拟主机怎么配置”文章能帮助大家解决疑惑,下面跟
今天小编给大家分享一下tomcat相关配置与eclipse集成的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家
这篇“Tomcat之web应用的目录组成结构是怎样的”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,
今天小编给大家分享一下tomcat目录映射的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大...
这篇“tomcat的环境怎么配置”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文...
环境:tomcat:apache-tomcat-7.0.35 cactiEZ:10.1系统:centos5.6_x64一、配置tomcat服务器1、添加账号vim tomcat-users.xml 重启tomcat2、安装snmp协议yum...
一、 软环下载地址软件链接地址https://files.cnblogs.com/files/jinrf/openssl-1.0.2-latest.tar.gzhttps://files.cnblogs.com/files/jinrf/apr-util-1.6...