tomcat 配置文件 server.xml

 
问题记录
1.访问不到tomcat下面webapps下面的html文件?
          tomcat启动了,webapps里面有个a.html文件,,浏览器url是http://localhost:8080/a.html.但是报404错误。这可能    是那些原因引起的。
         解决方法:http://localhost:8080/a.html 少了项目名称        http://localhost:8080/项目名称/a.html

 
 
 
Tomcat的目录结构
   ·bin      //存放Tomcat的命令脚本文件
   ·conf    //存放Tomcat服务器的各种配置文件,最主要是server.xml
   ·lib       //存放Tomcat服务器支撑jar包
   ·logs    //存放日志文件
   ·temp    //存放临时文件
   ·webapps     //web应用所在目录,外界访问web资源的存放目录
   ·work            //Tomcat的工作目录
 
 
 
配置文件结构
从高到低分为:
Server
  -Service
     --Connector
     --Engine
       ---Host
          ----Context

 

<?xml version="1.0" encoding="UTF-8"?>
   <Server port="8005" shutdown="SHUTDOWN">
         
          <GlobalNamingResources>
          </GlobalNamingResources>
         
          <Service name="Catalina">

                <Connector port="8080" protocol="HTTP/1.1"
                 connectionTimeout="20000"
                 redirectPort="8443" />
                
                 <Engine name="Catalina" defaultHost="localhost">
                        <Host name="localhost"  appBase="webapps"
                             unpackWARs="true" autoDeploy="true">
                        </Host>
                 </Engine>
         </Service>
        <Service name="Catalina2">
……
</Service>
    </Server>

 

server下面可以有多个service,用于配置不同监听端口

service下面可以有多个Host,用于配置该端口下的不同域名

Host里可以包含多个Context,用于配置该端口该域名下的不同虚拟目录

 
 
以下是tomcat的配置文件 server.xml  (多余注释已删除)

 

<?xml version="1.0" encoding="UTF-8"?>

<Server port="8005" shutdown="SHUTDOWN"> #监听关闭命令的端口 <Listener className="org.apache.catalina.startup.VersionLoggerListener" /> <!-- Security listener. Documentation at /docs/config/listeners.html <Listener className="org.apache.catalina.security.SecurityListener" /> --> <!--APR library loader. Documentation at /docs/apr.html --> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> <!-- Prevent memory leaks due to use of particular java/javax APIs--> <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<GlobalNamingResources> #具体SERVICE部分都能使用的公共变量定义 <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可以包括一个或多个连接,这些连接共享一个单一的容器;
# 注意服务service本身并不是容器,

  <Service name="Catalina">    #服务名
<Connector port="8080" protocol="HTTP/1.1" #默认连接端口8080 、协议、超时、ssl重定向端口 connectionTimeout="20000" redirectPort="8443" /> #默认加密连接在 8443

      #定向包协议默认8009端口,如加密转发8443  负责和其他的HTTP服务器建立连接
     <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 

<Engine name="Catalina" defaultHost="localhost">
#Engine处理引擎,接收和处理来自Connector的请求
    #Realm 表示存放用户名,密码及role的数据库 
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
</Realm>
      #name是虚拟主机名,appBase 应用程序基本目录,即存放应用程序的目录;
#unpackWARs 自动解压war包。true值时,appdase下打成war包的项目会在tomcat启动时自动解压
#autoDeploy是否设置程序自动装载
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> #valve 记录应用程序的访问信息,directory指定log文件存放的位置,prefix 文件名,pattern 记录格式 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" /> </Host> </Engine> </Service> </Server>

 

posted @ 2017-10-10 21:55  乌托邦眺望  阅读(229)  评论(0编辑  收藏  举报