简体   繁体   English

将多个 web 应用程序部署到单个端口 80 上的 tomcat

[英]Deploying multiple web applications to a tomcat on single port 80

  1. I need to host two websites on one tomcat server.我需要在一台 tomcat 服务器上托管两个网站。 Both on port 80. Eg两者都在端口 80 上。例如

A) abc.com B) def.com both on one apache tomcat server. A) abc.com B) def.com 两者都在一个 apache Z1B359D8753858B55BEFAAA431 服务器上

I do have two folders named: abc-app1-apps and def-app2-apps instead of the standard webapps and webapps2 as I have read using folders starting with webapps may cause a conflict?我确实有两个名为:abc-app1-apps 和 def-app2-apps 的文件夹,而不是标准的 webapps 和 webapps2,因为我已经阅读过使用以 webapps 开头的文件夹可能会导致冲突?

How do I do this?我该怎么做呢?

  1. I'm confused between appBase and docBase.我对 appBase 和 docBase 感到困惑。 one guide claims i need it, another claims I do not need it.一位指南声称我需要它,另一位指南声称我不需要它。 Is there a good guide to this somewhere?在某个地方有一个很好的指南吗? I've tried looking at the tomcat reference but it doesn't provide examples.我试过查看 tomcat 参考,但它没有提供示例。
    <Host name="abc.com"  appBase="abc-app1-apps" unpackWARs="true" autoDeploy="true" reloadable="true">
    <Alias>abc.com</Alias>

    </Host>


    <Host name="def.com"  appBase="def-app2-apps" unpackWARs="true" autoDeploy="true" reloadable="true">
    <Alias>def.com</Alias>

    <Context path="" docBase="."/>

    </Host>

You can add all the .war files you want in the same webapps folder.您可以在同一个 webapps 文件夹中添加所有所需的 .war 文件。

For example, you could have two .war files: website1.war and website2.war and both websites working under the same port (80).例如,您可以有两个 .war 文件:website1.war 和 website2.war,并且两个网站都在同一端口 (80) 下工作。

I am getting the following errors when I try to deploy it.当我尝试部署它时出现以下错误。 2-Aug-2022 14:47:53.116 SEVERE [main] org.apache.catalina.startup.HostConfig.deployWAR Error deploying web application archive [C:\apache-tomcat-9.0.46\webapps\Test2-0.0.1-SNAPSHOT.war] java.lang.IllegalStateException: Error starting child at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:720) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:692) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1023) at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1903 2022 年 8 月 2 日 14:47:53.116 严重 [main] org.apache.catalina.startup.HostConfig.deployWAR 部署 web 应用程序存档 [C:\apache-tomcat-2-0.0. SNAPSHOT.war] java.lang.IllegalStateException: Error starting child at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:720) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690 ) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:692) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1023) at org.apache.catalina.startup.HostConfig$ DeployWar.run(HostConfig.java:1903 ) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.util.concurrent.AbstractExecutorService.submit(Unknown Source) at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:824) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1611) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319) at ) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java: 75) at java.util.concurrent.AbstractExecutorService.submit(Unknown Source) at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:824) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig. java:474) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1611) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:829) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384) at org.ZB6EFD606D118D0F62066E31419FF04CC org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) at org.apache.catalina.util.LifecycleBase.setState( LifecycleBase.java:366) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:829) at org.apache.catalina .util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384) at org.ZB6EFD606D118D0F62066E31419FF04CC Z.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374) at java.util.concurrent.FutureTask.run(Unknown Source) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.util.concurrent.AbstractExecutorService.submit(Unknown Source) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardService.startInternal(StandardService.Z93F725A07423FE1C889F4 Z.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374) at java.util.concurrent.FutureTask.run(Unknown Source) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java :75) at java.util.concurrent.AbstractExecutorService.submit(Unknown Source) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine .java:262) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardService.startInternal(StandardService.Z93F725A07423FE1C889F4 48B33D21F46Z:433) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.startup.Catalina.start(Catalina.java:772) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:342) at org.apache.catalina.startup.B 48B33D21F46Z:433) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930) at org.apache.catalina.util .LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.startup.Catalina.start(Catalina.java:772) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:342) at org.apache.catalina.startup.B ootstrap.main(Bootstrap.java:473) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Test2-0.0.1-SNAPSHOT]] at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)... 37 more Caused by: java.lang.IllegalArgumentException: More than one fragment with the name [org_apache_jasper_el] was found. ootstrap.main(Bootstrap.java:473) 原因:org.apache.catalina.LifecycleException: 无法启动组件 [StandardEngine[Catalina].SHO/2Host[.localhost].1-SNAP[TTest]-20 [.orgContext].Standard .apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase .java:717)... 37 更多 原因:java.lang.IllegalArgumentException:找到了多个名为 [org_apache_jasper_el] 的片段。 This is not legal with relative ordering.这对于相对排序是不合法的。 See section 8.2.2 2c of the Servlet specification for details.有关详细信息,请参阅 Servlet 规范的第 8.2.2 2c 节。 Consider using absolute ordering.考虑使用绝对排序。 at org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2260) at org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2218) at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1294) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:986) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:303) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) at org.ZB6EFD606D118D0F62066E3141 at org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2260) at org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2218) at org.apache .catalina.startup.ContextConfig.webConfig(ContextConfig.java:1294) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:986) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java :303) 在 org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) 在 org.ZB6EFD606D118D0F62066E341 9FF04CCZ.catalina.core.StandardContext.startInternal(StandardContext.java:5077) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)... 38 more 2 9FF04CCZ.catalina.core.StandardContext.startInternal(StandardContext.java:5077) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)... 38 more 2

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM