修改 conf/server.xml 配置, 如下:
<Server port="8005" shutdown="SHUTDOWN">
<Service name="Catalina111">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Engine name="Catalina111" 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">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="/" docBase="." debug="0" />
</Host>
</Engine>
</Service>
</Server>
- Server: 服务器;只能有1个; server下可以有多个 Service 元素;
- Service元素: 将一个或多个 Connector 元素与Engine 绑定; Service 下可以有多个 Connector 元素;即监听多个端口;
- Connector: 开启端口以监听 http请求;
- Engine :处理客户端请求的引擎;它接收连接器 Connector 传递过来的访问请求,处理后吧结果返回给连接器; Engine下可以有多个虚拟主机 Host 元素; 即一个引擎可以管理多个web 站点;
- Host :虚拟主机; name为主机名; appBase 映射的基准路径(Context元素的docBase属性指定的相对路径的基准路径); unpackWARs 是否解压war包, autoDeploy 自动部署; (这里的appBase设置为 webapps,是tomcat的部署目录;当然也可以不是这个目录)
- Context: 把本地文件系统的一个目录映射为虚拟web目录, path 表示虚拟web目录的路径, 当其为空字符串,则表示整个web站点根目录;docBase 指定虚拟web目录映射的本地目录;
【荔枝】
<Context path="/zhangsan" docBase="d:\myweb" debug="0" />
补充1: 为简单起见,Realm, Valve 本文忽略;
补充2:把Service的name设置为 Catalina111 的目的是验证name值不一定非要 是 Catalina ;