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\tomcat-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/*。

 

posted @ 2019-03-18 22:14  linuxws  阅读(191)  评论(0编辑  收藏  举报