tomcat 配置
tomcat 安装完成之后,我们可以在器目录先看到有如下结构
我么看一下tomcat配置文件目录下有哪些文件
server.xml: Tomcat的主配置文件,包含Service, Connector, Engine, Realm, Valve, Hosts主组件的相关配置信息;
web.xml:遵循Servlet规范标准的配置文件,用于配置servlet,并为所有的Web应用程序提供包括MIME映射等默认配置信息;
tomcat-user.xml:Realm认证时用到的相关角色、用户和密码等信息;Tomcat自带的manager默认情况下会用到此文件;在Tomcat中添加/删除用户,为用户指定角色等将通过编辑此文件实现;
catalina.policy:Java相关的安全策略配置文件,在系统资源级别上提供访问控制的能力;
catalina.properties:Tomcat内部package的定义及访问相关的控制,也包括对通过类装载器装载的内容的控制;Tomcat6在启动时会事先读取此文件的相关设置;
logging.properties: Tomcat6通过自己内部实现的JAVA日志记录器来记录操作相关的日志,此文件即为日志记录器相关的配置信息,可以用来定义日志记录的组件级别以及日志文件的存在位置等;
context.xml:所有host的默认配置信息;
1、server.xml
|
Tomcat以面向对象的方式运行,它可以在运行时动态加载配置文件中定义的对象结构,这有点类似于apache的httpd模块的调用方式。server.xml中定义的每个主元素都会被创建为对象,并以某特定的层次结构将这些对象组织在一起。下面是个样样例配置:
server.xml文件中可定义的元素非常多,包括Server, Service, Connector, Engine, Cluster, Host, Alias, Context, Realm, Valve, Manager, Listener, Resources, Resource, ResourceEnvRef, ResourceLink, WatchedResource, GlobalNameingResources, Store, Transaction, Channel, Membership, Transport, Member, ClusterListener等。
下面简单介绍几个常用组件:
1、Server组件
如上面示例文件中定义的:
<Server port=”8005” shutdown=”SHUTDOWN”>
这会让Tomcat6启动一个server实例(即一个JVM),它监听在8005端口以接收shutdown命令,使用 telnet 连接8005 端口可以直接执行 SHUTDOWN 命令来关闭 Tomcat。各Server的定义不能使用同一个端口,这意味着如果在同一个物理机上启动了多个Server实例,必须配置它们使用不同的端口。这个端 口的定义用于为管理员提供一个关闭此实例的便捷途径,因此,管理员可以直接telnet至此端口使用SHUTDOWN命令关闭此实例。不过,基于安全角度 的考虑,这通常不允许远程进行。所以这里我们可以进行的操作有,我们可以把这个默认的端口给改了
配置文件里面有一个这样的配置:
这个配置的意思就是:
appBase:就是说开发人员的包是放在这个下面的,如果你想定义其他位置,可以在这里改
unpackWARs="true" 这个意思就是说程序员给你的war,是不是自动解压
autoDeploy="true" 这个意思就是说,是不是自动部署(生产中建议关闭)
Server的相关属性:
className: 用于实现此Server容器的完全限定类的名称,默认为org.apache.catalina.core.StandardServer;
port: 接收shutdown指令的端口,默认仅允许通过本机访问,默认为8005;
shutdown:发往此Server用于实现关闭tomcat实例的命令字符串,默认为SHUTDOWN;
访问192。168.220.116:8080
出来tomcat首页,首页的右方有一个Manager App,点击之后,它会让你输入用户名和密码
这个是修改vim tomcat-users.xml
添加如下内容:
但是这个在生产中不要配置。然后重启tomcat之后点击manager app,输入你你定义的账号和密码看到这个界面
tomcat的日志:
一共有三种:
1.catalina.out 详细日志的输出
2.host-manager.2016-07-14.log 管理日志
3.localhost_access_log.2016-07-14.txt 访问日志,生产中,前面的nginx或者是apache的访问日志要是开启的话,这里就没有必要开启了