tomcat
运行jsp网页的web服务器(之前需要安装JDK)
目录文件结构
- /bin-启动,关闭和其他脚本,startup.bat,shutdown.bat启动关闭脚本
- /conf-配置文件和相关DTD.最主要的文件server.xml-容器的主要配置文件,其次web.xml.
- /logs-日志
- /webapps-存放web应用程序的目录
- lib-类库,jar文件
- work-运行jsp之后产生的class文件
server.xml配置详解
server: 1,port指定一个端口,负责监听tomcat的请求
2, shutdown 指定端口发送命令字符串
service : name指定service的名字
Connecter: (表示客户端和service之间的连接)
1,port指定服务端要创建的端口号,并监听客户端请求
2,minProcessors服务端启动时创建的处理请求的线程数
3,maxProcessors最大可创建线程数
4,enbaleLookups如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名;若为false,则不查询DNS,返回IP地址
5,redirectPort指定服务器正在处理http请求时收到一个ssl传输请求后,重定向的端口号
6,accepConut指定当所有可以使用处理请求的线程都被使用时,可以放到处理队列中的请求数,超过这个数值不予以处理
7,connectionTimeout指定超时时间(单位毫秒)
Engin: (指定service请求处理机,接受和处理来自Connector的请求)
1,defaultHost指定缺省的处理请求的主机名,至少与其中一个host元素的name属性值一样
Context:(表示一个web应用程序)
1,docBase 应用程序的路径,或者WAR文件存放的路径
2,path web应用程序的url的前缀,如:http://localhost:8080/path/xxxx
3,reloadable 若为true,自动检测应用程序的/WEB-INF/lib和/WEB-INF/classes目录的变化,自动装载新的应用程序,不需重启tomcat,从而改变应用程序
host: 表示一个虚拟主机
1,name 指定主机名
2,appBase 应用程序基本目录,即存放应用程序的目录
3,unpackWARS 若为true,自动解压WAR文件,否则不解压
Logger: (日志和调试和错误信息)
1,className 指定logger使用的别名,此类必须实现org.apache.catalina.Logger 接口
2,prefix 指定log文件的前缀
3,suffix 指定log文件的后缀
4,timestamp 若为true,log文件名中间要加入日期,如log.2019-10-19.txt
Realm: (表示存放用户名,密码及role的数据库)
1,className 指定Realm使用的别名,此类必须实现org.apache.catalina.Realm接口
Value: (功能与Logger类似,其中prefix和suffix一样)
1,className 指定Value使用的别名如用org.apache.catalina.valves.AccessLogValve类可以记录应用程序的访问信息
directory: (指定log文件存放位置)
1,pattern 两个值,common方式记录远程主机名或ip,用户名,日期,第一行请求的字符串,http响应代码,发送字节数.combined方式记录的值更多
<Server port="8005" shutdown="SHUTDOWN">
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Host name="www.a.com" appBase="a" unpackWARS="true" autoDeploy="true">
</Host> //创建虚拟机www.a.com;应用程序存放在a目录下;自动解压WARS文件;新建重新部署应用
<Host name="www.b.com" appBase="b" unpackWARS="true" autoDeploy="true">
</Host>
<Vlave className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="localhost_access_log" suffix=".txt" //日志文件的前缀,后缀
pattern="%h %l %u %t "%r" %s %b"
/>
</Host>
</Engine>
</Service>
</Server>