Установка Solr на хост-сервер Tomcat - PullRequest
2 голосов
/ 01 августа 2009

Я установил и настроил tomcat + solr на моем персональном компьютере с Linux и Windows. Я смог заставить их работать нормально. Я очень плохо знаком с Java и с тем, как работает файловая структура. (т. е. зная, куда помещать файлы war и что такое WEB-INF). Теперь, когда я готов установить solr и настроить его на плане общего хостинга для моих клиентов, направления отличаются от того, что я делал раньше. Я не хочу все испортить, и, очевидно, веб-сервер ежедневно перезагружается, и я не думаю, что могу сделать это вручную, что означает, что у меня есть один выстрел в этот день.

Вот инструкции по установке сервлета 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 * Каталог 1012 *, а классы и ресурсы, упакованные в файлы Jar , должны быть загружены в / html / WEB-INF / lib . "

э-э ... так что же это? / Классы? или / lib? Я не думаю, что они объясняют это очень хорошо, и я немного смущен этим утверждением. И что именно я должен установить? При обычной установке solr solr помещается куда-то еще, файл war копируется в tomcat, а на остальную часть solr ссылаются с помощью какого-то файла конфигурации XML.

Кроме того, так как я немного новичок в Java и сервлетах, может кто-нибудь объяснить мне структуру файла tomcat (очень подробно определенно даст вам +1 от меня) и куда все пойдет и почему?

Заранее спасибо!

1 Ответ

3 голосов
/ 01 августа 2009

Структура веб-приложения определяется спецификацией J2EE, она не ограничена (или не специфицирована) как таковой Tomcat. Вот подробное руководство , охватывающее его макет. Вкратце, однако, это выглядит следующим образом:

  1. Там есть базовая (root, home, как бы вы это ни называли) папка, которая служит корнем веб-приложения, все остальное идет под него.
  2. Все общедоступные материалы (html, изображения, CSS, javascript, JSP, что у вас есть) попадают в эту папку (напрямую или через подпапки).
  3. Существует одна специальная папка, также расположенная прямо под root, которая называется WEB-INF. Он содержит непубличный материал, такой как дескриптор приложения (web.xml), классы (которые находятся в папке WEB-INF/classes), библиотеки (WEB-INF/lib) и, возможно, файлы конфигурации.
  4. Приложение может быть развернуто либо с использованием приведенной выше расширенной структуры, либо в виде WAR (веб-архива), который в основном представляет собой архив, содержащий все вышеперечисленное, начиная с уровня корневой папки (но не включая корневую).

Различие между папками classes и lib простое: все упакованные библиотеки (файлы JAR) должны входить в lib; все распакованные классы (и файлы ресурсов, которые должны находиться в пути к классам) должны входить в classes , сохраняя их структуру каталогов (например, com.mypackage.Blah класс должен входить в classes/com/mypackage/)

В вашем случае, похоже, что вы можете развернуть только одно веб-приложение, и его нужно развернуть в папку /html. Если вы развертываете файл war, вам нужно извлечь его в этот каталог (например, из этой папки /html запустить jar xvf solr.war или как там она называется).

...