Установка Solr на размещенный сервер tomcat
-
07-07-2019 - |
Вопрос
Я установил и настроил 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/классы справочник.Все распакованные пользовательские классы и ресурсы должны быть загружены в /html/WEB-INF/классы каталог, в то время как классы и ресурсы упакованы в Банка файлы должны быть загружены в /html/WEB-INF/библиотека."
эээ...так что же это такое?/занятия?или /lib?Я не думаю, что они объясняют это очень хорошо, и я немного сбит с толку этим утверждением.Также, что именно я устанавливаю?При обычной установке solr solr помещается куда-то еще, файл war копируется в tomcat, а на остальную часть solr ссылаются с помощью какого-то файла конфигурации XML.
Кроме того, поскольку я немного новичок в Java и сервлетах, может ли кто-нибудь объяснить мне файловую структуру tomcat (в мельчайших подробностях вы определенно получите от меня + 1) и куда все должно идти и почему?
Заранее спасибо!
Решение
Структура веб-приложения определяется спецификацией J2EE, она не ограничена (или специфична) Tomcat как таковой.Вот такой подробное руководство охватывающий его планировку.Однако вкратце это выглядит следующим образом:
- Там есть базовая папка (root, home, называйте как хотите), которая служит корнем веб-приложения, все остальное находится под ней.
- Все общедоступные материалы (html, изображения, CSS, javascript, JSP, что у вас есть) хранятся в этой папке (напрямую или через вложенные папки).
- Есть одна специальная папка, также расположенная непосредственно под root, которая называется
WEB-INF
.Он содержит непубличные данные, такие как дескриптор приложения (web.xml
), классы (которые входят вWEB-INF/classes
папка), библиотеки (WEB-INF/lib
) и, возможно, файлы конфигурации. - Приложение может быть развернуто либо с использованием расширенной структуры, описанной выше, либо как WAR (веб-архив), который в основном представляет собой архив, содержащий все, что указано выше, начиная с уровня корневой папки (но не включая root).
Различие между classes
и lib
папки - это просто:все упакованные библиотеки (JAR-файлы) необходимо поместить в lib
;все неупакованные классы (и файлы ресурсов, которые должны быть в classpath) должны входить в classes
сохранение их структура каталогов (например, com.mypackage.Blah
класс должен перейти в classes/com/mypackage/
)
В вашем случае, похоже, что у вас может быть развернуто только одно веб-приложение, и оно должно быть развернуто в /html
папка.Если вы развертываете файл war, вам необходимо извлечь его в этот каталог (напримеризнутри этого /html
запуск папки jar xvf solr.war
или как там это называется).