0

Apache solr4.5 を tomcat7.0 に統合しようとしています。

これが私の問題です。$CATALINA_BASE/webapps の下に「solr」という名前のディレクトリを作成し、パスの下に context.xml を作成します。ディレクトリ構造は次のようになります。

$CATALINA_BASE/webapps/solr/META-INF/context.xml

context.xml は次のようになります。

<?xml version="1.0" encoding="utf-8" ?>
<Context docBase="/solr/home/root/solr.war">
     <Environment name="solr/home" type="java.lang.String" value="/solr/home/root" />
</Context>

「localhost:8080/solr/」にアクセスすると、solr webapp は正常に動作するはずですが、次のようなエラーが発生することを期待していました。

HTTP Status 404 - /solr/

type Status report

message /solr/

description The requested resource (/solr/) is not available.

Apache Tomcat/7.0.26

しかし、Apache tomcat7.0 ドキュメントによると、

個々の Context 要素を明示的に定義できます。

  1. アプリケーション ファイル内の /META-INF/context.xml にある個々のファイル。オプションで (ホストの copyXML 属性に基づいて) これを $CATALINA_BASE/conf/[enginename]/[hostname]/ にコピーし、アプリケーションのベース ファイル名に ".xml" 拡張子を加えた名前に変更することができます。

  2. $CATALINA_BASE/conf/[enginename]/[hostname]/ ディレクトリの個々のファイル (「.xml」拡張子付き)。コンテキスト パスとバージョンは、ファイルのベース名 (.xml 拡張子を除いたファイル名) から派生します。このファイルは、Web アプリケーションの META-INF ディレクトリにパッケージ化された context.xml ファイルよりも常に優先されます。

  3. メインの conf/server.xml の Host 要素内。

だから、誰か手がかりを教えてください、ありがとう。

4

2 に答える 2

0

context.xml代わりに、(すべての webapps の) またはsolr.xml(solr のみ) ファイルをCatalina/localhostフォルダーに配置してみてください。

例えば:

<Context docBase="webapps/solr.war" allowLinking="true" reloadable="true">
  <Environment name="solr/home" type="java.lang.String" value="/opt/solr" override="true" />
</Context>

トラブルシューティング:

  • ログを確認してください。

    cd /var/log/tomcat? && tail -f *.log *.out *.txt
    
于 2015-06-03T21:09:24.023 に答える