2010-12-08 126 views
3

在(遠程)Tomcat 5.5服務器(Turnkey Linux附帶)中,我已經部署了一些經過一番努力的web應用程序。它是一個帶有Java後端的GoogleWebToolkit網絡應用程序。成功部署在Tomcat上的應用程序,但404錯誤

觀察日誌一切都很順利。 /管理員應用程序在我的新應用程序上也顯示'running = true'。

但問題是,去/對myApp網址給404我到目前爲止已經做的那樣,沒有成功:

  • 確信它在本地運行使用Eclipse,做工精細有
  • 檢查了部署服務器上的日誌,它成功加載了Spring和其他一些庫。事實上,它顯示的信息與我在Eclipse中以託管模式運行時相同的消息。
  • /manager,/ host-manager,/ admin應用程序運行良好。
  • 重裝上/經理的應用程序也說「OK」
  • 我有指定的歡迎文件,一個是實際存在的,直接命中也給了404
  • 我使用(「localhost」的)的默認主機,就像/經理,/主機經理和/管理應用程序
  • 在互聯網上搜索了很多,無濟於事。
  • 嘗試了一個不同的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> 
+0

myApp中的web.xml是否有列出的歡迎文件?你可以直接嘗試像localhost之一:8080/myApp/index.html – JoseK 2010-12-08 12:40:30

回答

2

所以,你有一個Apache實例坐在Tomcat的面前。一些/所有對Apache的請求被轉發到Tomcat AJP端口8009.假設這個Apache-Tomcat橋接器工作正常,因此只關注你部署的應用程序,你可能需要在Apache的httpd.conf文件中添加一些JKMount指令,以確保請求到/myApp網址確實被轉發給Tomcat。否則,它們將由Apache提供服務,這意味着如果找不到這些資源,將會出現404錯誤。

2

HTTPD/conf.d文件夾應包含各種.conf文件,其中包含有關配置的Web應用程序的條目。您可以創建一個新的.conf文件或將ProxyPass條目添加到現有的conf文件。添加ProxyPass條目可以將收到的請求路由到tomcat。例如ProxyPass /myApp/ ajp://localhost:8009/myApp/。 以上例子中,Tomcat應該在AJP Connector端口8009上進行監聽。

相關問題