2016-04-07 20 views
0

私たちのWebアプリケーションはtomcatサーバー上でポート8080(UNIXサーバー)でホストされています。Tomcatと同じポートにSolrをデプロイ

https://example.com/myApp

我々は、我々のプロジェクトでSolr検索を実装したいです。 SOLRは、WebアプリケーションとしてSOLRを展開する必要がないことを示唆しています。以下のリンクを参照してください。 https://wiki.apache.org/solr/WhyNoWar

デフォルトのSOLRインストール(jettyを使用していますか?)は、指定した任意のポートにそれをデプロイします。

私たちがターゲットとしているほとんどのユーザーはデフォルトポート以外のすべてのポートがブロックされているため、8080以外のポートはサーバー上で開く必要はありません。

SOLRをtomcatにデプロイせずにホストする方法はありますか? https://example.com/solr

答えて

2

ベストプラクティスは、たとえばnginxなどのプロキシを使用することです。ここでnginxの構成のHTTPブロックが、この場合を探すことができるかのサンプルです:

http { 
    upstream tomcat { 
     server localhost:8081; 
    } 

    upstream solr { 
     server localhost:8082; 
    } 

    server { 
     listen  *:8080; 
     server_name my.server.com; 
     location/{ 
      proxy_pass http://tomcat; 
     } 

     location /solr/ { 
      proxy_pass http://solr; 
     } 
    } 
} 
1

Solrは、まだウェブアプリです。他のサーブレット・コンテナでは使用しないように推奨されています。

彼らは完全にテストされたシステムを提供しており、他の(開発者)が他のコンテナでそれをテストするのに時間を費やすことを望んでいません。

私はsolr 3.4バージョンを使用し、ポート8080でのTomcatサーバーでそれを展開している 私のアプリケーションは8080ポートで別のtomcatに展開し、別のマシン上でされています。

したがって、両方のトムキャットが異なるサーバー上にあるので、ポートについてあいまいではありません。

私はsolr戦争を作成し、それをtomcatに展開しました。そのサーバの8080ポートのみが開かれ、アプリケーションによってのみアクセスされます。

solrバージョン5についてはわかりません。それがjetty以外の他のコンテナに配備することができます...しかし、私はそれがtomcatで展開することができると思うかどうか...あなたが同じことをしようとする必要があります...

他の事はそれがdeplyアプリケーション戦争とsolr戦争をいけないです同じ容器内または単一の容器内に存在する。理由は、アプリケーションのいずれかがダウンした場合、すべてがダウンすることです。

solrがダウンすると、アプリケーションがダウンする可能性があります。これはアプリケーションには適しません。

関連する問題