一尘不染

应用程序已成功部署在Tomcat上,但出现404错误

tomcat

经过一番努力,我已经在(远程)Tomcat 5.5服务器(Turnkey
Linux随附)上部署了一个Web应用程序。这是一个带有Java后端的GoogleWebToolkit网络应用。

观察日志,一切正常。/ manager应用程序还在新应用程序上显示“ running = true”。

但是问题是,转到/ myApp URL会得到404。到目前为止,我已经做过,但没有成功:

  • 确保它确实使用Eclipse在本地运行,并且在这里可以正常运行
  • 检查了部署服务器上的日志,它成功加载了Spring和其他一些库。实际上,它显示的消息与在Eclipse中以托管模式运行时所显示的消息相同。
  • / manager,/ host-manager,/ admin应用程序运行良好。
  • 在/ manager上重新加载应用程序也显示“确定”
  • 我指定了一个欢迎文件,实际上是在那里,直接点击它还会显示404
  • 我使用默认主机(“ localhost”),就像/ manager,/ host-manager和/ admin应用程序一样
  • 在互联网上做了很多搜索,但无济于事。
  • 尝试了另一台Tomcat(v6)服务器(我的家用ubuntu盒,我想在其上部署的服务器是网络上的某个VPS),并且该服务器可以正常工作…重新安装VPS吗?

关于如何解决此问题的任何提示,找出问题所在或可能导致此问题的原因?会有冲突吗?$ CATALINA_HOME /
webapps目录中有另一个应用程序正在运行,是否可以与部署在同一目录中的myApp冲突?

下面是我的server.xml

<?xml version="1.0" encoding="UTF-8"?>
<Server>
  <Listener className="org.apache.catalina.core.AprLifecycleListener"/>
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
  <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
  <GlobalNamingResources>
   <Environment
    name="simpleValue"
    type="java.lang.Integer"
    value="30"/>
   <Resource
     auth="Container"
     description="User database that can be updated and saved"
     name="UserDatabase"
     type="org.apache.catalina.UserDatabase"
     pathname="conf/tomcat-users.xml"
     factory="org.apache.catalina.users.MemoryUserDatabaseFactory"/>
  </GlobalNamingResources>
  <Service
  name="Catalina">
   <Connector
    port="8009"
    redirectPort="8443"
    address="127.0.0.1"
    protocol="AJP/1.3">
   </Connector>
   <Engine
    defaultHost="localhost"
    name="Catalina">
     <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
     <Host
      appBase="webapps"
      name="localhost">
     </Host>
   </Engine>
 </Service>
</Server>

阅读 229

收藏
2020-06-16

共1个答案

一尘不染

因此,您有一个位于Tomcat前面的Apache实例。对Apache的部分/全部请求都转发到Tomcat AJP端口8009。假定此Apache-
Tomcat桥正常运行,因此仅关注已部署的应用程序,则可能需要在JKMountApache的httpd.conf文件中添加一些指令,以确保对/myAppurl的请求确实转发给了Tomcat。否则,它们将由Apache提供服务,这意味着在找不到这些资源时会收到404错误。

2020-06-16