zoukankan      html  css  js  c++  java
  • tomcat

    转载自:https://blog.csdn.net/eaton18/article/details/39693483   http://www.365mini.com/page/tomcat-manager-user-configuration.htm

    一、安装Tomcat

    tomcat的目录结构:

     目录      用途
    /bin 	  存放启动和关闭 Tomcat 的脚本文件。
    /conf 	  存放 Tomcat 服务器的各种配置文件,其中包括 server.xml(Tomcat 的主要配置文件)、web.xml 等等。 
    /lib 	  存放 Tomcat 服务器的和所有web应用程序需要访问的 JAR 文件。 
    /logs 	  存放 Tomcat 的日志文件。
    /temp 	  存放 Tomcat 运行时产生的临时文件。 
    /webapps  当发布 Web 应用时程序时,通常把 Web 应用程序的目录及文件放到这个目录下。
    /work 	  Tomcat 将 JSP 生成的Servlet 源文件和字节码文件放到这个文件夹下。
    

      

    二、运行Tomcat

    配置JAVA_HOME或者JRE_HOME的环境变量

    CATALINA_HOME 是tomcat的安装目录。配置好之后可以在任意目录执行startup.bat。

    执行bin/startup.bat开启Tomcat

    浏览器==》http:localhost:8080  打开Tomcat的主页了:

     

    三、Server.xml文件配置

    在conf/server.xml文件中。

    <server>

    一个server代表了整个容器,Tomcat提供了一个默认的org.apache.catalina接口的实现,用户很少修改这个默认的实现。

    port:指定一个端口,这个端口负责监听关闭tomcat的请求。

    shutdown:指定向端口发送的命令字符串,通常是“SHUTDOWN”。

    <service>

    一个Service是一个中间件,存在于一个Server的内部,将一个或者多个Connectors绑定到一个特定的Engine上。默认的实现已经足够用了。是org.apache.catalina.Service接口的一个实现。

    name:指定service的名字,通常是”Catalina”。

    <Connector>

    1、连接器(Connector)处理与客户端的通信,他负责接收客户请求,以及向客户返回相应结果。一个Connector将在某个指定端口上侦听客户请求,并将获得的请求交给Engine来处理,从Engine处获得回应并返回客户 。在Tomcat中,有多个连接器可以使用。

    2、port:指定服务器端要创建的端口号,并使用这个断口监听来自客户端的请求。

    3、protocol:设定监听的协议。

    4、redirectPort:指定当服务器正在处理HTTP请求时收到了一个SSL传输请求后重定向的端口号 。

    <Engine>

    1、一个Engine代表一个特定的Service的请求处理的管道。因为一个Service可以有多个Connectors,Engine接收并且处理从这些Connectors过来的所有的请求,并且将结果送回合适的connector并发送给客户端。
    2、Engine下可以配置多个虚拟主机Virtual Host,每个虚拟主机都有一个域名。
    3、当Engine获得一个请求时,它把该请求匹配到某个Host上,然后把该请求交给该Host来处理。
    4、Engine有一个默认虚拟主机,当请求无法匹配到任何一个Host上的时候,将交给该默认Host来处理。
    5、name:指定Engine的名字,通常是”Catalina”。
    6、defaultHost:指定默认的处理请求的主机名,至少与某个host元素的name属性值是相同的。

    <Host>

    1、Host表示一个虚拟主机,一个引擎可以包含多个Host。每个虚拟主机和某个网络域名Domain Name相匹配,每个虚拟主机下都可以部署(deploy)一个或者多个Web App,每个Web App对应于一个Context,有一个Context path。当Host获得一个请求时,将把该请求匹配到某个Context上,然后把该请求交给该Context来处理。匹配的方法是“最长匹配”,所以一个path==" "的Context将成为该Host的默认Context,所有无法和其它Context的路径名匹配的请求都将最终和该默认Context匹配。
    2、name:指定虚拟主机名字。
    3、debug:指定日志级别。
    4、appBase:存放Web应用程序的基本目录,可以是绝对路径或相对于$CATALINA_HOME的目录,默认是:$CATALINA_HOME/webapps,$CATALINA_HOME指的是Tomcat的安装目录。
    5、unpackWARs:如果为true,则tomcat会自动将WAR文件解压后运行,否则不解压而直接从WAR文件中运行应用程序。
    6、autoDeploy:如果为true,表示Tomcat启动时会自动发布appBase目录下所有的Web应用(包括新加入的Web应用)。

    <Context>

    1、一个Context 对应于一个Web应用程序(Web Application),运行在特定的虚拟主机上,一个Web Application由一个或者多个Servlet 组成,Context 在创建的时候将根据配置文件$CATALINA_HOME/conf/web.xml和$WEBAPP_HOME/WEB-INF/web.xml载入Servlet类。当Context获得请求时,将在自己的映射表(mapping table)中寻找相匹配的Servlet类。如果找到,则执行该类,获得请求的回应,并返回。
    
    2、docBase:指定此Web应用的绝对或相对路径,也可以为WAR文件的路径。
    
    3、path:表示此Web应用程序的url的入口,如为“/hello“,则请求的URL为http://localhost:8080/hello/。
    
    4、reloadable:这个属性非常重要,如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起tomcat的情况下改变应用程序。

    <Realm>

    1、表示存放用户名,密码及role的数据库.
    
    2、className:指定Realm使用的类名,此类必须实现org.apache.catalina.Realm接口。

    四、Tomcat 的管理程序

    Tomcat提供了一个管理程序——manager,用于管理部署到Tomcat服务器中的Web应用程序。

    下面添加一个用户,打开Tomcat安装目录下的conf omcat-users.xml文件,在<tomcat-users>标签里面添加角色:

    1 <?xml version='1.0' encoding='utf-8'?>
    2 <tomcat-users>
    3 <role rolename="manager-gui"/>
    4 <user username="eaton" password="123456" roles="manager-gui"/>
    5 </tomcat-users>

    第3、4行为我们添加的内容
    接下来启动Tomcat,访问:http://localhost:8080/。

     

    点击“Manager APP”连接,输入刚才在tomcat-users.xml中配置的用户名和密码--》“确定”按钮:

     

    在这个页面中可以部署、启动、停止、重新加载web应用程序。

    注意到Applications下面有一个/examples链接,单击这个链接进入Tomcat提供的示例程序页面,如下所示:

     

    这些例子可供大家学习Servlet时作为参考。

    默认情况下,Tomcat Manager是处于禁用状态的。

    <tomcat-users>
    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <user username="tomcat" password="tomcat" roles="manager-gui"/>
    <user username="admin" password="123456" roles="manager-script"/>
    </tomcat-users>
    一个user节点表示单个用户,属性roles表示该用户所具备的权限。
    user节点的roles与role节点的rolename相对应。roles的值可以是多个rolename,
    多个rolename之间以英文逗号隔开即可。
    
    Tomcat共有4种角色——也就是4个rolename(*为通配符):
    manager-gui
    允许访问html接口(即URL路径为/manager/html/*)
    manager-script
    允许访问纯文本接口(即URL路径为/manager/text/*)
    manager-jmx
    允许访问JMX代理接口(即URL路径为/manager/jmxproxy/*)
    manager-status
    允许访问Tomcat只读状态页面(即URL路径为/manager/status/*)
    
    从Tomcat Manager内部配置文件中可以得知,manager-gui、manager-script、manager-jmx 均具备manager-status的权限,也就是说,manager-gui、manager-script、manager-jmx 三种角色权限无需再额外添加manager-status权限,即可直接访问路径/manager/status/*。
  • 相关阅读:
    MySQL语句创建表、插入数据遇到的问题-20/4/18
    【Navicat】MySQL 8.0.17 数据库报2059错误
    MySQL 8.0.17 版安装 || Windows
    C#--Invoke和BeginInvoke用法和区别
    C#--params关键字
    C#--typeof() 和 GetType()区别
    C#--利用反射编写的SqlHelper类
    C#--反射基础
    C#--LINQ--2--LINQ高级查询
    C#--LINQ--1--初学LINQ基础和查询
  • 原文地址:https://www.cnblogs.com/linuxws/p/10555572.html
Copyright © 2011-2022 走看看