ホストされたTomcatサーバーへのSolrのインストール
-
07-07-2019 - |
質問
Tomcat + solrを個人のLinuxマシンとWindowsにもインストールして設定しました。それらをうまく機能させることができました。私はJavaとファイル構造がどのように機能するかについて非常に新しいです。 (つまり、warファイルを配置する場所とWEB-INFとは何かを知っています)これで、solrをインストールし、クライアント共有ホスティングプランにsolrを構成する準備ができたので、指示は以前とは異なります。これを台無しにしたくないし、明らかにウェブサーバーが毎日再起動するので、手動でできるとは思わないので、毎日これを1発撃つことになります。
Tomcatサーブレットをホスティングプロバイダーにインストールする方法は次のとおりです。 http://www.apluskb.com/scripts/Where_do_I_put_my_answer1186.html
ご覧のとおり、solrをhtml / WEB-INFディレクトリにインストールする必要がありますが、その内容を読んでください。非常に紛らわしいです:
"すべてのサーブレットは、 / html / WEB-INF / classes ディレクトリにアップロードする必要があります。解凍されたカスタムクラスとリソースは / html / WEB-INF / classes ディレクトリにアップロードする必要があり、一方、 Jar ファイルにパックされたクラスとリソースは / html / WEB-INF / lib 。"
ええと...それはどちらですか? /クラス?または/ lib?私は彼らがそれを非常にうまく説明しているとは思わず、私はこの声明に少し混乱しています。また、正確に何をインストールしますか?通常のsolrインストールでは、solrは別の場所に置かれ、warファイルはtomcatにコピーされ、solrの残りは何らかのXML構成ファイルを使用して参照されます。
また、私はJavaとサーブレットに少し慣れていないので、誰かがtomcatファイル構造を説明できますか(詳細は間違いなくあなたから+1を得るでしょう)、どこに行くべきか、なぜですか?
事前に感謝します!
解決
Webアプリケーションの構造はJ2EE仕様で定義されており、Tomcat自体に限定(または特定)されていません。以下は、レイアウトをカバーする詳細なチュートリアルです。ただし、簡単に言うと、次のとおりです。
- そこには、Webアプリケーションのルートとして機能するベース(ルート、ホーム、呼び出すものは何でも)フォルダーがあり、他のすべてはその下にあります。
- すべての公開コンテンツ(html、images、CSS、javascript、JSP、あなたが持っているもの)は、そのフォルダーの下に(直接またはサブフォルダー経由で)行きます。
-
WEB-INF
と呼ばれる特別なフォルダーが1つあり、これもルートの直下にあります。アプリケーション記述子(web.xml
)、クラス(WEB-INF / classes
フォルダーに移動)、ライブラリ(WEB- INF / lib
)および場合によっては構成ファイル。 - アプリケーションは、上記の拡張構造を使用するか、基本的にルートフォルダーレベル(ルートは含まない)で始まる上記のすべてを含むアーカイブであるWAR(Webアーカイブ)としてデプロイできます。
classes
と lib
フォルダーの区別は簡単です。すべてのパッケージ化されたライブラリー(JARファイル)は lib
に入る必要があります。パッケージ化されていないすべてのクラス(およびクラスパスにある必要があるリソースファイル)は、ディレクトリ構造( com.mypackage.Blah
classes preserving する必要があります>クラスは classes / com / mypackage /
に移動する必要があります)
あなたの場合、Webアプリケーションは1つしかデプロイできないようで、 / html
フォルダーにデプロイする必要があります。 warファイルをデプロイしている場合は、そのディレクトリに展開する必要があります(たとえば、 / html
フォルダー内から jar xvf solr.war
または呼び出されたものを実行します) 。