目的:
完成不同的应用使用不同的端口访问。例如:sfmanagement这个项目我使用8080访问,而qdsf这个项目我使用8081访问。
实现步骤:
(1)由于正常情况下我们是将项目放在webapps下面。如果想不通的应用使用不同的端口,我们需要在与webapps同层的目录上建立我们的目录,例如:test
目录结构如下:
D:\ProgramFiles\Java\tomcat\webapps
D:\ProgramFiles\Java\tomcat\test
他们属于同一层上。
(2)在test下放我们的项目。
把qdsf这个项目放在Test下,形成了一下目录结构:
D:\ProgramFiles\Java\tomcat\test\qdsf
而sfmanagement继续放在webapps下面:
D:\ProgramFiles\Java\tomcat\webapps\sfmanagement
(3)修改D:\ProgramFiles\Java\tomcat\conf下的server.xml。
加上一个Service,
注意修改:service name,connectport,engine name,defaultHopst,Host name,appBase.
<Servicename="test">
<Connector port="8081" />
<Engine name="Catalina.test" defaultHost="localhost.test"> //这里不要跟前面的8080的重复了。否则,会出现异常
<RealmclassName="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Hostname="localhost.test" appBase="test">
//这里的name也要改一下,不要跟8080的name相同,appBase就是我们建立的目录。
**注意**:
appBase这个地放如果还是了webapps,那么就相当于给webapps下的应用2个端口,通过这两个端口我都可以访问,即通过http://127.0.0.1:8080/sfmanagement也可以通过http://127.0.0.1:8081/sfmanagement都可以访问。
</Host>
</Engine>
</Service>
(4)此时修改完毕虽然,可以正常执行,但是,当使用http://127.0.0.1:8081的时候,不会出现tomcat的页面,这是我们需要把webapps下的ROOT拷到test下,
(5)通过http://127.0.0.1:8080/sfmanagement
http://127.0.0.1:8081/qdsf/index.wml来访问,
关于tomcat配置多个端口(即多个应用)
关于tomcat配置多个端口(即多个应用)
在tomcat里面默认的应用目录是webapps里面 ,
首先:需要在tomacat目录下建立一个和webapps同级的目录myWeb ;
其次: 将你在eclipse里面你发布到webapps下面的应用剪切(不然两个都会启动,有需要的copy就行)到myWeb目录下面,然后需要在webapps的同级的work目录下建立一个MyCatalina文件夹并在该文件夹下建立一个localhost的目录;
此时的 work文件夹下有个
work-----------Catalina---------localhost (默认的)
|
|--------MyCatalina ----localhost (新建的)
同样:的 conf下面也一样建立一个
conf-----------Catalina---------localhost (默认的)(如果没有就不要加)
| (注意的是如果下面有文件的时候要注意文件里面配置的路径)
|--------MyCatalina ----localhost (新建的) (并将文件copy过来,注意路径)
最后:就是server.xml
将原本的
……….
<!--HHT-->
<Servicename="MyCatalina">
<!-- <Connector port="8081" maxHttpHeaderSize="8192"maxThreads="150" minSpareThreads="25"maxSpareThreads="75" enableLookups="false"redirectPort="8443" acceptCount="100" connectionTimeout="20000"disableUploadTimeout="true" />-->
<Connector port="8010" URIEncoding="GBK"enableLookups="false" redirectPort="8444"protocol="HTTP/1.1" />
<Engine name="MyCatalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"resourceName="UserDatabase"/>
<Host name="localhost" appBase="MyWeb"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>
<!--HHT-->
<Servicename="Catalina">
<Connector port="8080" URIEncoding="GBK"protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" URIEncoding="GBK"protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<!-- Define the default virtual host
Note: XML Schema validation will not work with Xerces 2.2.
-->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>
……..
红色的为添加的红色部分中的蓝色为新建的文件夹
这样的情况就是同一个tomcat启动了多个端口
Tomcat 6.0 配置多个端口
一、Tomcat 安装后本身提供了一个server,端口配置默认是8080,对应目录为:..\Tomcat 6.0\webapps
二、Tomcat 6.0 配置多个端口,其实也就是给Tomcat增加几个server,并设置对应目录。下面以增加两个端口号为例
第一步、修改server.xml[..\Tomcat 6.0\conf] (1)Tomcat提供的如下: <Service name="Catalina">
<Connector port="8090" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> <Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" /> <Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"> </Host> </Engine> </Service>
(2)比着上面的葫芦画下面的瓢、新增两个端口号,注意Service name、Engine name、appBase,
当然了,端口号别忘了修改,以免重复。 <Service name="Catalina1">
<Connector port="8091" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> <Connector port="8009"
2013年ACCA/CAT考试全攻略 每日一练 历年真题 模拟测试 章节知识点
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" /> <Engine name="Catalina1" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps1" unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"> </Host> </Engine> </Service>
<Service name="Catalina2">
<Connector port="8092" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> <Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" /> <Engine name="Catalina2" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps2" unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"> </Host> </Engine> </Service>
第二步、创建相应的部署目录 ..\Tomcat 6.0\webapps1 ..\Tomcat 6.0\webapps2
同时可以将Tomcat 6.0\webapps下的有用的复制到新建的部署目录 第三步、创建配置文件目录和配置文件
..\Tomcat 6.0\conf\Catalina1\localhost ..\Tomcat 6.0\conf\Catalina2\localhost host-manager.xml manager.xml
配置文件的配置可参照..\Tomcat 6.0\conf\Catalina\localhost下的,只需要修改一下对应目录即可
大概的配置步骤就是这些,现在可以把不同的war包放在不同的位置来访问了 以上配置方法同样适合Tomcat 5.5
Tomcat6 配置多虚拟主机,多域名绑定一IP 搞了Tomcat6配置多虚拟主机很久,终于OK了。 真是够吐血的,记录下来,方便以后查阅了。 实现效果:
http://localhost 访问一个项目例如一个助学网。 http://localhost1 访问一个项目例如一个办公系统 实现方案,需要修改两个地方
一个是C:\WINDOWS\system32\drivers\etc\hosts文件,改为 127.0.0.1 localhost 127.0.0.1 localhost1
另一个要改的就是server.xml,修改后如下:
Code
<?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="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true" debug="0"> <Context path="" docBase="E:\Tomcat6\webapps\YangFan\" reloadable="true" crossContext="true"/> </Host>
<Host name="localhost1" appBase="webapps"
unpackWARs="true" autoDeploy="true" debug="0">
<Context path="" docBase="E:\Tomcat6\webapps\hiccOffice\" reloadable="true" crossContext="true"/> </Host>
</Engine>
</Service> </Server>
ok,重启tomcat6,就可以访问了,前提是保证写的路径正确。 如果本机已经申请了域名,那么只需要修改server.xml就可以。
只需要把localhost和localhost1分别改为不同的域名就OK了。十分的简单。
from:http://hi.baidu.com/mynetworktime/blog/item/1d21cd13c73b4758f819b8e7.html
问题:
1. 报 Caused by: Caught exception while loading file struts-default.xml 错 解决: 删除lib下的xerces-2.6.2.jar