gpt4 book ai didi

tomcat - 如何让 Apache Tomcat 从 'www.myapp.com' 而不是 'www.myapp.com/myapp' 为我的网页提供服务?

转载 作者:行者123 更新时间:2023-11-28 21:59:03 26 4
gpt4 key购买 nike

抱歉,如果不解释整个情况,我想不出更具描述性的标题。

我正在使用 IIS7 和 Tomcat7。我使用 GWT 创建了一个 Web 应用程序,将其打包成一个 war 文件并将其部署在 Tomcat 上。
输入我的网站网址,比如“www.myapp.com”,我会看到 Tomcat 默认页面。我怀疑这是因为那是 %TOMCAT_HOME%/webapps/ROOT 目录中的内容。我可以通过“www.myapp.com/myapp”访问我的网络应用程序,我期望的所有功能都在那里。

如何配置 Tomcat 以便可以通过“www.myapp.com”而不是“www.myapp.com/myapp”访问我的 Web 应用程序?

我已经尝试通过为我的 webapp 添加一个新的“主机”标签来在 %TOMCAT_HOME%/conf 中配置 server.xml:

        <Host name="myapp.com" debug="0" appBase="webapps/myapp" unpackWARs="true">
<Alias>www.myapp.com</Alias>
<Context path="" docBase="." debug="0" reloadable="true"/>
</Host>

从上面添加 Host 标签,输入“www.myapp.com”现在可以直接转到我的 Web 应用程序。问题是,当我在调用 servlet 的应用程序中执行某些操作时(我正在使用 GWT RPC),我收到错误消息:

com.google.gwt.user.client.rpc.StatusCodeException: 404

Server Error 404 - File or directory not found.

The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.

我不知道为什么会出现此错误,之前在没有添加“主机”标签的情况下输入“www.myapp.com/myapp”时工作正常。

我是 Tomcat 的新手,不知道如何解决这个问题。任何帮助将不胜感激。谢谢

编辑:

a) server.xml 中的主机部分(我的默认主机为 www.myapp.com):

<Host name="localhost"  appBase="C:/Tomcat 7.0/webapps" unpackWARs="true" autoDeploy="true"></Host>


<Host name="www.myapp.com" appBase="C:/Tomcat 7.0/myapp" unpackWARs="true" autoDeploy="true"> </Host>

b) workers.properties(我尝试将此处的主机更改为 www.myapp.com 但无济于事):

worker.list=worker1
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13

c) uriworkermap.properties:

/*=worker1

最佳答案

你有两个选择。

  1. 将您的 WAR 重命名为 ROOT.war。

  2. 将您的 WAR 移到 Tomcat 的 appBase 之外,然后添加一个新文件 $CATALINA_BASE/Catalina/localhost/ROOT.xml,其内容如下:

这假设您使用引擎和主机的默认名称。如果不是,请相应地调整路径。它是 $CATALINA_BASE/ / /ROOT.war

现在您正在使用选项 1 的多个主机,您需要执行以下操作,因为 appBase != docBase。如果尝试为它们使用相同的值,则会发生各种不好的事情。

有多种方法可以从您现有的资源中获得可行的解决方案。我建议如下:1.创建一个名为C:/Tomcat 7/webapps-myapp/ROOT的目录2.将C:/Tomcat 7/myapp的内容复制到这个新目录下3.删除C:/Tomcat 7/myapp4. 将 MyApp 主机的 appBase 更改为“webapps-myapp”(或完整路径)

这将从 C:/Tomcat 7/myapp 部署应用程序作为 myapp 虚拟主机中的 ROOT(默认)应用程序。这假定您已将 myapp 应用程序部署到 C:/Tomcat 7/myapp

关于tomcat - 如何让 Apache Tomcat 从 'www.myapp.com' 而不是 'www.myapp.com/myapp' 为我的网页提供服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10373799/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com