1.配置外部应用
原来我们把项目JavaWeb01放在apache-tomcat-7.0.42/webapps下,现在把项目JavaWeb01放在apache-tomcat-7.0.42/webapps之外,例如:f:/JavaWeb01。如果希望Tomcat还可以运行此项目,那么就应该配置外部运用。
(1)方式一
在apache-tomcat-7.0.42/conf/server.xml的<Host>里面添加<Context>,如下:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" <Context path="WebName" docBase="f:/JavaWeb01"></Context> </Host>
参数说明:
path:应用的名称,可以是任意名称,不一定要和JavaWeb01相同。
docpath:应用的真实位置。
配置完上述外部应用后,访问路径为:http://localhost:8080/webName/index.html
如果将path设置为" "(空),则表示默认的Web应用。此时访问路径不带应用名称:http://localhost:8080/index.html
(2)方式二
在apache-tomcat-7.0.42/conf/Catalina/localhost下创建WebName.xml,并在里面写:
<Context docBase="f:/JavaWeb01"></Context>
参数说明:WebName.xml的文件名称“WebName”就是应用名称。
docBase:应用的真实位置。
配置完上述外部应用后,访问路径为:http://localhost:8080/webName/index.html
如果将WebName.xml的文件名称改为“ROOT.xml”则表示f:/JavaWeb01为默认Web应用,此时访问路径不带应用名称:
http://localhost:8080/index.html
2.配置虚拟主机
之前访问JavaWeb01的路径为:http://localhost:8080/JavaWeb01,现在我们的目标变为,在浏览器中输入:http://www.zh.cn(【注意】这里不用写端口号和应用名称)来访问项目JavaWeb01。那么,需要进行如下步骤:
(1)在server.xml里面修改端口号为80.
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
(2)在 C:\WINDOWS\system32\drivers\etc\hosts文件里,添加http://www.zh.cn和127.0.0.1的映射关系.
127.0.0.1 www.zh.cn
(3)在server.xml里添加<Host>.
<Host name="www.zh.cn" appBase="zhapps" unpackWARs="true" autoDeploy="true">
参数说明:
name:虚拟主机名称,即步骤(2)中配置的虚拟主机名称。
appbase:当前虚拟主机的应用程序存放的目录。相当于原来apache-tomcat-7.0.42/webapps的作用。
(4)在zhapps目录下创建名为ROOT的应用。一个主机只可以有一个名为ROOT的应用,在浏览器中访问ROOT应用可以不给出应用名称。
小结:
每个<Host>元素表示一个虚拟主机。所谓虚拟主机就像是真的主机一样,每个主机都有自己的主机名和项目目录。例如<Host name=”localhost” appBase=”webapps”>表示主机名为localhost,这个主机的项目存放在webapps目录中。
在<Host>中可以有N个<Context>元素,每个<Context>元素表示一个应用。如果应用在<Host>的appBase指定的目录下,那么可以不配置<Context>元素,如果是外部应用,那么就必须配置<Context>。