首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

Tomcat的Server.xml虚拟主机跟虚拟目录的配置

2012-10-11 
Tomcat的Server.xml虚拟主机和虚拟目录的配置protocolHTTP/1.1 connectionTimeout20000 redirectPor

Tomcat的Server.xml虚拟主机和虚拟目录的配置
protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
注意是修改HTTP协议的,也就是protocol="HTTP/1.1"的,不是其他的。

二、增加虚拟目录
1、最简单的方式:直接把JavaEE网站放在$CATALINA_HOME/webapps目录下了,然后通过http://localhost/WebName,WebName为网站的目录名;

2、自定义:把网站放在其它的目录下,比如放在/var/www/webapp目录下,那么就要修改server.xml了。
在</Host>前增加以下内容即可:
<Context path="/SpringMVC" docBase="/var/www/webapp/SpringMVC" workDir="/var/www/webtmp/SpringMVC" debug="5" reloadable="false" crossContext="true" />
则可以通过http://localhost/SpringMVC访问了,也就是在主机名为localhost中增加了一个名为SpringMVC的虚拟目录了,当然,这里的名字完全依个人而定的。

三、增加虚拟主机
其实这才是本文要说的重点,也就是本文开头说的那种案例。我们每开发一个网站,都是通过http://localhost/WebName的形式访问,是不是很麻烦?

1、修改hosts文件,增加主机名
(1)Linux系统的hosts文件为/etc/hosts
(2)Windows系统的hosts文件为C:\WINDOWS\system32\drivers\etc\hosts
比如你想增加www.local.com主机,则在此文件中增加一行:127.0.0.1 www.local.com,也就是说当你访问www.local.com时,其实是访问127.0.0.1;
我比较喜欢简短的域名,所以我增加的是:127.0.0.1 SpringMVC

2、修改配置文件
在</Host>后再增加一个Host结点:
<Host name="SpringMVC" appBase="/var/www/webapp/SpringMVC" unpackWARs="true" autoDeploy="false" xmlValidation="false" xmlNamespaceAware="false" />
即增加了一个名为SpringMVC的虚拟主机,当然也可以是name="www.local.com",这个根据具体情况定。
这样,访问的IP就是:http://SpringMVC了。

3、目录设置
主机SpringMVC的WEB文件全放在/var/www/webapp/SpringMVC目录下,在该目录下增加ROOT目录,放入你的JavaEE网站工程,这样,你就可以通过http://SpringMVC访问你的网站了,后面少了/SpringMVC这个字串,在IP上与运行环境保持了一致。

四、其它问题
通过http://SpringMVC访问的是SpringMVC网站;
通过http://localhost访问的是Tomcat自带的网站;
我们在hosts文件中已经知道,SpringMVC和localhost都对应的IP是:127.0.0.1
那么,通过http://127.0.0.1访问的是那个网站呢?

在Host的父节点是:<Engine name="Catalina" defaultHost="SpringMVC">
从上可以看出,defaultHost="SpringMVC"决定了127.0.0.1访问哪个网站,我的设置是访问SpringMVC

本文到此就要结束了,贴上我的server.xml文件内容:
<?xml version="1.0" encoding="utf-8" ?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.AprLifecycleListener"
?? SSLEngine="on" />
<Listener className="org.apache.catalina.core.JasperListener" />
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

<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="80" protocol="HTTP/1.1" connectionTimeout="20000"
??? redirectPort="8443" />
?? <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
?? <Engine name="Catalina" defaultHost="SpringMVC">
??? <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
???? resourceName="UserDatabase" />
??? <Host name="localhost" appBase="webapps" unpackWARs="true"
???? autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
???? <!--HelloMule-->
???? <!--
????? <Context path="/mule" docBase="/var/www/webapp/Mule"
????? workDir="/var/www/webtemp/Mule" debug="5" reloadable="false"
????? crossContext="true" />
???? -->
??? </Host>
??? <Host name="SpringMVC" appBase="/var/www/webapp/SpringMVC"
???? unpackWARs="true" autoDeploy="false" xmlValidation="false"
???? xmlNamespaceAware="false" />
?? </Engine>
</Service>
</Server>

如有批评、指教、疑惑,请:obullxl@163.com
祝大家使用JAVA愉快!


------------------------------

同URL:http://hi.baidu.com/obullxl/blog/item/9b4a7006707dc27003088153.html

------------------------------

热点排行