【问题标题】:How to move SOLR from normal 8983 port to Apache Tomcat 7 Server in ubuntu?如何在 ubuntu 中将 SOLR 从正常的 8983 端口移动到 Apache Tomcat 7 服务器?
【发布时间】:2015-07-09 16:49:51
【问题描述】:

我已经在 usr/shared/tomcat7 文件夹中安装了 Tomcat 7。之后在我的 ubuntu 的 /var/www/ 文件夹中安装了 Solr 4.7。我的 solr 现在在 http://localhost:8983/solr/ url 上运行,但我现在想将它移动到 tomcat 服务器并希望通过 http://localhost:8080/solr/ url 访问它。

怎么办?请帮帮我。

【问题讨论】:

    标签: php apache ubuntu solr tomcat7


    【解决方案1】:

    您可以将 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

    上下文>
    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. 为 example 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(仅当有其他核心的配置时)

      核心>

    7. Solr 内核可在http://HOST_NAME:PORT/solr/admin/cores (http://example.com:8080/) 获得 8. 以同样的方式添加其他核心。

    1. 在 /etc/tomcat7/server.xml 中将 tomcat 端口从 8080 更改

    2. 安全性:设置 solr 密码

      一个。打开 /etc/tomcat7/tomcat-users.xml 进行编辑。

      b.在元素中添加 solr 角色和用户并保存更改:

    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 restart)。

    e。使用http://username:password@example.com:8080/solr访问solr

    如果 tomcat 抱怨缺少像 logger 这样的库,请将所需的 jars 复制到 /var/tomcat7/lib

    【讨论】:

    • 非常感谢这个出色的解决方案。我已经尝试过了,我目前正在 Tomcat 7 上运行 Solr。非常感谢... :)
    【解决方案2】:

    请查看以下链接以获取解决方案。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-11
      • 1970-01-01
      • 2017-02-13
      • 2011-10-29
      • 2015-12-10
      • 2021-10-11
      • 2014-06-02
      • 2021-11-16
      相关资源
      最近更新 更多