0

最初は、「admin」というWebアプリケーションが正常に実行されていて、tomcat6の$CATALINA_HOME / webapps /ディレクトリ内にデプロイされていました。次に、このWebアプリケーションを実行するための仮想ホストを設定してみました。

ステップ1:$ CATALINA_HOME / conf/server.xmlに以下を追加しました

<Host name="mysubdomain.domain.com" appBase="keshav">

</Host>

ステップ2:フォルダー$ CATALINA_HOME/keshavを作成しました

ステップ3:ROOTコンテキストを$ CATALINA_HOME / keshav/ROOTとして作成しました

ステップ4:「admin」ウェブアプリ($ CATALINA_HOME / webapps /内にあった)を$ CATALINA_HOME/keshavに移動しました

これで、 http://mysudomain.domain.com/admin/jsp/login.jspにアクセスすると、ログインページが表示されて正常に機能します。しかし、http://mysubdomain.domain.com/admin/Login.doまたはその他のstrutsアクションにアクセスしようとすると、404エラーが発生します-

「HTTPステータス404-サーブレットアクションは使用できません」

catalina.outファイルに、「INFO:サーブレットアクションは現在利用できません」というメッセージが表示されます。

誰かが私がこの構成の何が悪いのかを理解するのを手伝ってくれますか?

更新:コネクタポートも8080から80に変更しました。80ポートを開くにはroot権限が必要なため、sudoを使用してTomcatを起動しています(使用しているユーザーはsudoersリストにあります)。

sudoを使用してtomcatを実行すると、strutsアクションの404エラーが発生します。コネクタポートを80から8080に変更し、sudoを使用せずに起動すると、仮想ホストは正常に機能しています。

ルートに移動してTomcatを起動すると、それも正常に機能しています。sudoを使用すると、この問題が発生しているようです。

4

2 に答える 2

0
  1. 仮想ホストのコンテキストを定義しましたか?Tomcat仮想ホスティングガイドの「コンテキストの構成」セクションを参照してください。
  2. ROOTコンテキストは必要ありません(実際に使用している場合を除く)。
  3. 'action'サーブレットは'*.do'パターンにマップされていますweb.xmlか?正常に動作しているとおっしゃっていたので、そうだと思いますが、確認しても問題ありません。
于 2009-09-26T18:32:21.100 に答える
0

これはActionServletの典型です。すべての例外をUnavailableExceptionにマップするため、サーブレットが停止している場合でも、常に「使用不可」エラーが発生します。正確な原因を示すために、ログに他の情報があるはずです。

サーバーをsudoで実行すると、環境が変化します。たぶん、struts configはいくつかの環境変数またはデフォルトの作業ディレクトリに依存していますか?

「」を試してくださいsudo -s catalina.sh。それは役立つかもしれません。

于 2009-09-26T20:07:50.207 に答える