[英]Deploy web service on same tomcat but on different port
我在struts中开发了一个门户网站,它部署在端口8080上的tomcat中,现在我想在同一个tomcat服务器上部署Web服务,但是在不同的端口8090上。
C:\\ Tomcat的6.0.32 \\的conf \\ 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.core.JreMemoryLeakPreventionListener" />
<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="8080" 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"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>
<Service name="testing">
<Connector port="8090" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="9443" />
<Connector port="8092" protocol="AJP/1.3" redirectPort="9443" />
<Engine name="testing" 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>
</Server>
在这里,我添加了带有Web服务名称测试的新服务条目,以便在8090上部署它。门户网站的war文件在C:\\ tomcat-6.0.32 \\ webapps \\ ROOT目录中展开。
C:\\ tomcat-6.0.32 \\ conf \\ Catalina \\ localhost \\ ROOT.xml包含以下Web门户条目:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/" docBase="" debug="5" reloadable="false" useHttpOnly="true" crossContext="true">
</Context>
现在,对于Web服务,我使用以下内容创建了C:\\ tomcat-6.0.32 \\ conf \\ testing \\ localhost \\ testing.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/" docBase="C:/testing" debug="5" reloadable="false" useHttpOnly="true" crossContext="true">
</Context>
在C:/ testing中,我只是放置了abc.htm以查看它是否可以从http:// localhost:8090 / abc.htm访问,但它不起作用。 相反,当我访问http:// localhost:8090 & http:// localhost:8080给出404错误时,它会在C:\\ tomcat-6.0.32 \\ webapps \\ ROOT目录中显示index.html。
这是我的catalina.log:
INFO: Deploying configuration descriptor ROOT.xml
Jan 15, 2012 11:16:25 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Jan 15, 2012 11:16:25 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Jan 15, 2012 11:16:25 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/19 config=null
Jan 15, 2012 11:16:25 PM org.apache.catalina.core.StandardService start
INFO: Starting service testing
Jan 15, 2012 11:16:25 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.32
Jan 15, 2012 11:16:25 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor testing.xml
Jan 15, 2012 11:16:25 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory ROOT
Jan 15, 2012 11:16:25 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8090
Jan 15, 2012 11:16:25 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8092
Jan 15, 2012 11:16:25 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/16 config=null
Jan 15, 2012 11:16:25 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 510 ms
谁能告诉我出了什么问题?
更新:我刚刚注意到,如果我将index.html放在C:\\ tomcat-6.0.32 \\ webapps目录中,可以在http:// localhost:8090访问它现在任何人都可以帮我解决这个问题,以便我想将index.html放在其他目录中吗?
谢谢!
请查看这篇文章
http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html
<Service name="reciver">
<Connector port="8080" maxHttpHeaderSize="8192" maxThreads="10"
enableLookups="false" acceptCount="100"
connectionTimeout="10000" disableUploadTimeout="true"
useBodyEncodingForURI="true"/>
<Engine name="reciver" defaultHost="localhost" jvmRoute="host1">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase" />
<Host name="localhost" appBase="webapps" unpackWARs="true"
autoDeploy="false" xmlValidation="false"
xmlNamespaceAware="false">
<Context docBase="browser" path="/browser" reloadable="false"/>
</Host>
</Engine>
</Service>
<Service name="reciver2">
<Connector port="8081" maxHttpHeaderSize="8192" maxThreads="10"
enableLookups="false" acceptCount="1"
connectionTimeout="10000" disableUploadTimeout="true"
useBodyEncodingForURI="true" proxyName="example.pt" proxyPort="80"/>
<Engine name="reciver2" defaultHost="example_app" jvmRoute="host2">
<Host name="example_app" appBase="test_app/example_app" unpackWARs="true"
autoDeploy="false" xmlValidation="false"
xmlNamespaceAware="false">
<Context docBase="example_app" path="/example_app" reloadable="false"/>
</Host>
</Engine>
</Service>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.