2

webrootTomcat を実行していますが、別の場所を指すようにデフォルトを変更したいと考えています。Tomcat を実行しているものや、通常は設定されていると思われる httpd.conf が見つからないため、デフォルトの webroot が設定されている場所を見つける方法はありますか?

乾杯、

アレクセイ・ブルー。

**アップデート:**

この質問を見てから長い時間が経ちましたが、忘れていました。最終的に、ポート 80 からのリクエストを受け入れるために Apache HTTPD を使用していたことが判明しました。そこから、ファイルにwebrootおよびProxyPassルールを設定しました/etc/httpd/conf/virtual-hosts/default.conf(これらは にも設定できます/etc/httpd/conf/httpd.conf)。そこから、いくつかの tomcat インスタンスを実行し、すべてが でセットアップされた異なるポートでホストされましたapache-tomcat-x/conf/server.xml

この質問を書いたとき、開発中のアプリケーションを実行するために新しい tomcat インスタンスをセットアップしようとしていたところwebroot、アプリケーションにアクセスするには を変更する必要があると言われましたが、これは誤りでした。代わりProxyPassに、アプリケーション名が URL で認識されたときに、HTTPD が要求を正しい tomcat インスタンスに送信して処理するようにルールを含める必要がありました。例えば

www.domain.com/myApplication

In /etc/httpd/conf/virtual-hosts/default.conf

ProxyPass /myApplication/ ajp://127.0.0.1:<ajp_port>/myApplication/
ProxyPassReverse /myApplication/ ajp://127.0.0.1:<ajp_port>/myApplication/

で ajp_port が設定されている場所apache-tomcat-x/conf/server.xml。どのポートも他の tomcat インスタンスと競合しないようにする必要があったため、シャットダウン、HTTP、SSL を使用した HTTP、AJP などのすべてのポートを確認することを忘れないでください。

4

2 に答える 2

2

@Woodyが言うように、Tomcatはhttpd.confファイルを使用しません。これはApache httpdのものです(httpdはWebサーバー、TomcatはJavaアプリケーションサーバーです)。

使用しているOSや使用しているパッケージ管理ソフトウェア(yum、aptなど)については言及していなかったため、apache.orgから直接Tomcatをダウンロードしてインストールしたかのように一般的な情報を提供します(これは私は通常、いくつかの理由で人々にそうすることをお勧めします)。

Tomcatは、サーバー全体の構成をconf/server.xmlTomcatベースのインストールディレクトリ(便宜上$ CATALINA_BASEと呼ばれることが多い)のファイルに保持します。ここでは、使用するコネクタのタイプ(HTTP、HTTPS、AJPなど)や使用するコネクタなどを構成します。リッスンする必要のあるポート、クラスタリング構成、セッションの永続性、グローバルJNDIおよびレルムリソース。TomcatのそのインスタンスにデプロイされたすべてのWebアプリケーションのデフォルトを定義するファイルもconf/web.xmlありますが、変更する本当に正当な理由がない限り、これらのファイルはそのままにしておくことをお勧めします。conf/context.xml

Webアプリケーションを(デフォルト構成で)デプロイする場合は、.WARファイルを$CATALINA_BASE/webapps/ディレクトリにドロップするだけで、Webアプリは次の名前と一致する「コンテキストパス」(別名URLプレフィックス)にデプロイされます。ファイルから「.WAR」サフィックスを引いたもの。したがって、mygreatwebapp.warという名前のWARファイルがある場合は、クライアントがで到達できるようにデプロイされますhttp://yourhost/mygreatwebapp/。空のコンテキストパスを持つようにWARファイルに付けることができる特別な名前があります。WARファイルに名前を付けるとROOT.war(大文字と小文字が区別されます)、Webアプリにアクセスできますhttp://yourhost/。(WARファイルの代わりに展開されたWARディレクトリを使用したい場合は、ディレクトリに.war拡張子がないことを除いて、上記のすべてが引き続き適用されます)。

元の質問を考えると、ROOT.warファイルをドロップする$CATALINA_BASE/webapps(またはすでに存在するファイルを置き換える)だけのようです。これにより、「デフォルト」と呼ばれる可能性のあるURLスペースに必要なWebアプリがデプロイされます。 webroot」。

更新 ホストのすべてのWebアプリケーションが存在するディレクトリを変更する場合は's$CATALINA_BASE/conf/server.xml変更して、たとえばを指すように。これにより、すべてのWARファイルとディレクトリが個別のWebアプリケーションとしてデプロイされます。<Host>appBase/cfusion/main/www//cfusion/main/www/

任意の場所から単一のWebアプリを提供するだけの場合は、の下にデプロイメントファイルを作成できます$CATALINA_BASE/conf/[EngineName]/[HostName]/[appname].xml。これはのような標準ファイルであり、Webアプリを指すを指定する必要があることを除いて要素META-INF/context.xmlが含まれています(例)。<Context>docBase/cfusion/main/www/mywebapp

于 2012-06-07T15:11:21.337 に答える
2

Tomcat は、Apache ファイルである httpd.conf を使用しません。個々の webapps の場所は個々の web.xml ファイルに保持されますが、すべての構成の場所は ../tomcat6/conf/server.xml および web.xml にあります。

移動したいファイルの場所ですか、それともファイルをコンパイルして実行する場所ですか?

于 2012-06-07T10:48:17.040 に答える