Как переместить SOLR с обычного порта 8983 на сервер Apache Tomcat 7 в Ubuntu?

Я установил Tomcat 7 в папку usr / shared / tomcat7. После этого установил Solr 4.7 в папку / var / www / в моем Ubuntu. Мой Solr теперь работает на HTTP: // локальный: 8983 / Solr / URL, но я хочу переместить его сейчас на сервер Tomcat и хочу получить к нему доступ HTTP: // локальный: 8080 / Solr / URL-адрес.

Что делать? Помоги мне, пожалуйста.

1

Решение

Вы можете использовать Solr с Jetty, который поставляется с Solr, и просто изменить номер порта в файле jetty.xml. Если вы хотите использовать Solr с Tomcat, вам нужно сделать больше, чем это. Вот полная инструкция:

  1. Установите tomcat7 с помощью apt-get

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. (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">
<Имя среды = "solr / home" type = "java.lang.String" value = "/ usr / share / solr" override = "true" />
</ Context>
  1. Создать ядра
    Создание примера ядра:

    1. Создайте каталог с примерами в / var / lib / solr и скопируйте другой файл conf из другого ядра, например / usr / share / solr / collection1

    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 (только если есть конфигурация для других ядер)

    <solr persistent = "false"> <cores adminPath = "/ admin / cores" shareSchema = "true"> <core name = "example" instanceDir = "example" /> </ сердечники> </ Solr>

7. Ядра Solr доступны по адресу Http: // имя_хоста: порт / Solr / администратора / сердечники (http://example.com:8080/)
8. Добавьте другие ядра таким же образом.

  1. Измените порт Tomcat с 8080 в /etc/tomcat7/server.xml

  2. Безопасность: установите пароль

    а. Откройте /etc/tomcat7/tomcat-users.xml для редактирования.

    б. Добавьте роль Solr и пользователей внутри элемента и сохраните изменения:

    <role rolename = "solradmin" /> <user username = "username" password = "password" role = "solradmin" />

с. Откройте /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>

д. Сохраните изменения и перезапустите Tomcat (/etc/init.d/tomcat7 restart).

е. Доступ к Solr с помощью Http: // имя пользователя: [email protected]: 8080 / Solr

Если tomcat жалуется на отсутствующие библиотеки, такие как logger, скопируйте необходимые файлы jar в / var / tomcat7 / lib

1

Другие решения

Пожалуйста, проверьте ссылку ниже для решения.

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

0

По вопросам рекламы [email protected]