簡體   English   中英

如何在ubuntu中將SOLR從普通的8983端口移動到Apache Tomcat 7服務器?

[英]How to move SOLR from normal 8983 port to Apache Tomcat 7 Server in ubuntu?

我已經在usr / shared / tomcat7文件夾中安裝了Tomcat 7。 之后,在我的ubuntu的/ var / www /文件夾中安裝Solr 4.7。 我的Solr現在在http:// localhost:8983 / solr / url上運行,但是我現在想將其移至tomcat服務器並希望通過http:// localhost:8080 / solr / url訪問它。

該怎么辦? 請幫幫我。

您可以將Solr與Solr隨附的Jetty一起使用,只需更改jetty.xml文件中的端口號即可。 如果要將Solr與Tomcat一起使用,則需要做更多的事情。 這是完整的說明:

  1. 使用apt-get安裝tomcat7

sudo apt-get install tomcat7

  1. 將solr下載到/ tmp(例如:4.0.0)

cd /tmp

wget http://{mirror site}/apache/lucene/solr/4.0.0/apache-solr-4.0.0.tgz

  1. 將solr war文件復制到tomcat Webapps。 (dist路徑在將來的版本中可能已更改)

cp /tmp/apache-solr-4.0.0/dist/apache-solr-4.0.0.war /var/lib/tomcat7/webapps/solr.war

  1. 制作一個solr主目錄

mkdir /usr/share/solr

  1. 將示例solr中的所有內容復制到新的solr主目錄中。

cp -R /tmp/apache-solr-4.0.0/example/solr/* /usr/share/solr/

  1. 在Tomcat中為solr創建一個配置文件,並插入以下行。

sudo pico /etc/tomcat7/Catalina/localhost/solr.xml

<Context docBase="/var/lib/tomcat7/webapps/solr.war" debug="0" privileged="true" allowLinking="true" crossContext="true" >
    <Environment name="solr/home" type="java.lang.String" value="/usr/share/solr" override="true" />
    </Context>
  1. 創建核心創建示例核心:

    1. 在/ var / lib / solr中創建示例目錄,然后從另一個核心(如/ usr / share / solr / collection1)復制另一個conf文件。

    mkdir /var/lib/solr/example

    cp -R /usr/share/solr/collection1 /var/lib/solr/example/

    1. 創建一個數據目錄,例如core並在/var/lib/solr/example/conf/solrconfig.xml中設置
    2. mkdir /var/lib/solr/data/example
    3. 授予tomcat7權限

    chown -R tomcat7:tomcat7 /var/lib/solr

    1. 要啟用內核,需要在/ usr / share / solr中建立符號鏈接

    ln -s /var/lib/solr/example /usr/share/solr/example

    1. 將以下核心配置添加到/usr/share/solr.xml(僅當存在其他核心的配置時)

    \n\n

    \n <solrpersistent =“ false”>\n <cores adminPath =“ / admin / cores” shareSchema =“ true”>\n <core name =“ example” instanceDir =“ example” />\n </核>\n </ solr的>

7.可通過http:// HOST_NAME:PORT / solr / admin / coreshttp://example.com:8080/ )獲得Solr內核。8.以相同方式添加其他內核。

  1. 從/etc/tomcat7/server.xml中的8080更改tomcat端口

  2. 安全性:設置solr密碼

    一種。 打開/etc/tomcat7/tomcat-users.xml進行編輯。

    在元素中添加solr角色和用戶並保存更改:

    \n\n

    <role rolename =“ solradmin” />\n <user username =“ username” password =“ password” role =“ solradmin” />

C。 打開/var/lib/tomcat7/webapps/solr/WEB-INF/web.xml進行編輯。 在元素中添加以下行:

  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Solr Lockdown</web-resource-name>
      <url-pattern>/</url-pattern>
    </web-resource-collection>
    <auth-constraint>
      <role-name>solradmin</role-name>
    </auth-constraint>
  </security-constraint>
  <login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>Solr</realm-name>
  </login-config>

d。 保存更改並重新啟動Tomcat(/etc/init.d/tomcat7重新啟動)。

使用http:// username:password@example.com:8080 / solr訪問solr

如果tomcat抱怨缺少像logger這樣的庫,請將所需的jars復制到/ var / tomcat7 / lib

請檢查下面的鏈接以獲取解決方案。

http://www.dansolovay.com/2014/06/switching-solr-from-port-8983.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM