TOMCAT笔记(一)之 目录、虚拟主机、SERVER.XML、TOOL管理原理小记 作者: 凡石 Email:web@yundao.com http://yundao.com 晕倒网
最后更新: 2004年05月06日 星期四 03:51:23 +0800
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明
关于Tomcat Administration
作者: 凡石 Email:web@yundao.com http://yundao.com 晕倒网
TOOL左界面
Name: ok.aaa.com [localhost] 作者: 凡石 Email:web@yundao.com http://yundao.com 晕倒网
Application Base: webapps //相对于TOMCAT_HOME
Host (ok.aaa.com[localhost])
Context (/) //ROOT物理目录作者: 凡石 Email:web@yundao.com http://yundao.com 晕倒网
//但作为DOCBASE来说为虚拟目录(相对于Application Base)
//它是url://ok.aaa.com [localhost] 虚拟(别名)根目录,这是和APACHE不一样的地方!
//Application Base才是实实在在的url://ok.aaa.com [localhost]根目录,
//启动时系统会自动生成(通过测试ROOT下的WEB-INF、WEB.XML)
Context (/admin) //系统默认(删除对应的admin.xml其不能自动还原)作者: 凡石 Email:web@yundao.com http://yundao.com 晕倒网
Context (/balancer)//原理同上Context (/admin)作者: 凡石 Email:web@yundao.com http://yundao.com 晕倒网
Context (/jsp-examples) //相对于Application Base,启动时系统会自动生成。
Context (/manager) //原理同上Context (/admin)作
Context (/servlets-examples) //物理目录,相对于Application Base,启动时系统会自动生成。
Context (/tomcat-docs) //物理目录,相对于Application Base,启动时系统会自动生成。
Context (/webdav) //物理目录,相对于Application Base,启动时系统会自动生成。
作者: 凡石 Email:web@yundao.com http://yundao.com 晕倒网
原理:TOMCAT启动时会搜索HOST的APPBASE下的物理目录,物理目录有WEB-INF、WEB.XML信息则载入到TOOL界面,无时不载入,不过不载入的物理目录当然还是可以通过URL来访问;虚拟目录(alias)对应的xml文件存在则能载入,无时(相应的XML被删除)不载入,通过URL不可访。但是ROOT就不一样了,把ROOT.XML删了后,它也能被载入,因为它有双重性。每个目录只要都被正常载入,相应在TOMCAT_HOME\Catalina\ok.aaa.com [localhost] \生成其同名的XML,这个名称可以被更改,不过最好用可示性较强的文字来命名。
关于SERVER.XML
- <Service name="Catalina">
<Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" port="80" redirectPort="8443" /> //url端口为80,默认是8080
<Connector port="8009" protocol="AJP/1.3" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" redirectPort="8443" />
- <Engine defaultHost="aaa.com" name="Catalina">//这里是指默认主机,也就是通过IP、localhost来访问的主机
- <Host appBase="webapps" name="ok.aaa.com">//虚拟主机ok.aaa.com
<Alias>ok.bbb.com</Alias>//虚拟主机ok.aaa.com的别名和实实在在的url://ok.aaa.com [localhost]根目录webapps
<Alias>yes.aaa.com</Alias> //同上
<Alias>yes.bbb.com</Alias> //同上
<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_log." suffix=".txt" timestamp="true" />
</Host>
- <Host appBase="f://myweb" name="aaa.com">//虚拟主机aaa.com和实实在在的url://aaa.com [localhost]根目录f://myweb
<Alias>bbb.com</Alias>//虚拟主机aaa.com的别名
<Alias>www.bbb.com</Alias> //同上
<Alias>www.aaa.com</Alias> //同上
<Logger className="org.apache.catalina.logger.FileLogger" prefix="aaa.com_log." suffix="txt" timestamp="true" />
<Context displayName="freeweb描述" docBase="d://freeweb" path="abc" useNaming="false" /> //别名abc指向物理目录d://freeweb
</Host>
<Logger className="org.apache.catalina.logger.FileLogger" prefix="catalina_log." suffix=".txt" timestamp="true" />
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" />
</Engine>
</Service>
</Server>
注意:这里<Context displayName="freeweb描述" docBase="d://freeweb" path="abc" useNaming="false" /> //别名abc指向物理目录d://freeweb在添加之后,要重启TOMCAT,这时会在TOMCAT_HOME/conf/Catalina/aaa.com/下生成一个abc.xml.其内容就是:
<?xml version="1.0" encoding="utf-8" ?>
<Context displayName="freeweb描述" docBase="d://freeweb" path="abc" useNaming="false" />
这之后,再入Tomcat AdministrationTOOLCOMMITCHANGE一下,SERVER.XML 里那句<Context~~~~~~~~~~~ />就没了。呵。。
最后我要说的是,当进行备份时,一定不要仅把SERVER.XMLWEB.XML .....这些文件备下来(和APACHE不一样),备就备整个conf目录!!!我之前就是以为在SERVER.XML写了CONTEXT就可行了,目录的事全交给SERVER.XML来管。可是这样是非常错误的想法。SERVER.XML是不保留CONTEXT的,它只是把你加入Context生成文件,之后删除你在它里面添的语句。它只有生成功能,没有对其的直接管理功能,功能都给相应的alias的XML文件了!