Tomcat中虚拟路径,虚拟主机详解
文/郑州中心就业服务部老师
简介: Tomcat中部署web应用程序的方式2种方式:· 1.直接将一个web应用程序放置在tomcat/webapps目录下。这时web应用程序目录名称就是我们访问tomcat下的这个应用程序的名称
2.将一个不在tomcat下的web应用程序部署加载. 此时就要在TOMCAT中设置虚拟路径了.
Tomcat的加载web应用的顺序是先加载 $Tomcat_home$\conf\Catalina\localhost下面的xml文件(文件中配置了web项目所在路径),然后再加载webapps下的web项目.
虚拟路径的配置
例如: 将F:\mywebapps\XXX项目.部署到tomact.
第一种配置虚拟路径的方式:(推荐使用)
在Tomcathome\conf\Catalina\localhost路径下新建一个XML文件,注意:XML文件的名字也就是项目部署成功后的web根路径.例如创建一个myapp.xml文件. myapp.xml:
<?xml version="1.0" encoding="UTF-8"?> <Context docBase="F:\mywebapps\XXX项目" reloadable="true" debug="0" path="/mya"/> path : web的跟路径. 可以不写,也不一定是/myapp. 也就是说在这里不起作用. web跟路径默认就是文件名. 此时就设置好了虚拟路径. 注意:如果docBase=”F:\mywebapps”.(没有指定具体项目名,此时相当于tamcat下webapps目录).
第二种配置虚拟路径的方式:(tomcat6后不推荐)
我们可以在tomcat/conf/server.xml文件中配置,在server.xml文件中的结束标签前添加一段配置 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
... 此处省略n行 <Context docBase="F:\mywebapps\XXX项目" reloadable="true" debug="0" path="/myapp"/> </Host>
注意:
此时path一定要写,因为我们此时没有新建xml文件了,所以一定要指明web应用的根目录。
配置属性含义:· docBase : 配置web应用程序所在的目录 · path : web应用的跟路径名 · reloadable : 当reloadable=true时,相关文件改变,Tomcat先停止web app并释放内存,然后重新加载web app
————-基于主机名的虚拟主机配置—————
第一种: 基于主机名的虚拟主机配置
1.打开C:\Windows\System32\drivers\etc 下面的hosts文件.
2.在tomcat/conf/service.xml中 加入如下配置一段 配置
<Host ...> ...... </Host> 这里的Host配置,是配置文件原本就有的,下面的需要我们自己增加
<!-- 我们自己配置的虚拟主机--> <Host name="mysite" appBase="F:\mywebapps" 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" /> </Host> 注意:00001. name=”mysite” . 代表我们的主机名为 mysite. 00002. appBase=”F:\mywebapps”. 我们这个主机的站点,相当于tomcat中 webapps目录. 00003. Valve .这个节点不能少 浏览器: http:mysite:8080/XX项目名. —–> F:\mywebapps\XX项目名.
第二种: 基于端口的虚拟主机配置
1.在tomcat/service.xml 里加入一段 配置.<Service> 系统配置的servie ... </Service>
<!--我们自己配置的service--> <Service name="myService">
// 修改1. 这里将端口号改为8089. <Connector port="8089" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> // 修改2.下面这行可以删除或者将8009改为其他端口, 否则启动tomcat是可能报8009端口被占用 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="Engine" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> // 默认localhost 主机 <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" />
</Host> <!-- 我们自己配置的虚拟主机 name="mysite" . 代表我们的主机名为 mysite. appBase="F:\mywebapps". 我们这个主机的站点,相当于tomcat中 webapps目录. Valve .这个节点不能少 --> <Host name="mysite" appBase="F:\mywebapps" 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" /> </Host> </Engine> </Service>
传智播客·黑马程序员郑州校区地址 河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层 联系电话 0371-56061160/61/62 来校路线 地铁一号线梧桐街站A口出
|