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/*。
  • 相关阅读:
    LeetCode 230. 二叉搜索树中第K小的元素(Kth Smallest Element in a BST)
    LeetCode 216. 组合总和 III(Combination Sum III)
    LeetCode 179. 最大数(Largest Number)
    LeetCode 199. 二叉树的右视图(Binary Tree Right Side View)
    LeetCode 114. 二叉树展开为链表(Flatten Binary Tree to Linked List)
    LeetCode 106. 从中序与后序遍历序列构造二叉树(Construct Binary Tree from Inorder and Postorder Traversal)
    指针变量、普通变量、内存和地址的全面对比
    MiZ702学习笔记8——让MiZ702变身PC的方法
    你可能不知道的,定义,声明,初始化
    原创zynq文章整理(MiZ702教程+例程)
  • 原文地址:https://www.cnblogs.com/linuxws/p/10555572.html
Copyright © 2011-2022 走看看