Izhak
22 уровень
Москва

tomcat - коротко для windows

Пост из группы Архив info.javarush.ru
3269 участников
У меня возникло желание установить tomcat, и сделать несколько хостов для начала на локальном компьютере. слон Итак, сперва я с сайта установил сервис tomcat. Он элементарно настраивается, но без подробного исследования неясно, каких пользователей и с какими паролями надо забивать в нетбинс, чтобы он скомпилировал и залил проект. Поэтому я решил потратить время и воспользоваться теми описаниями, что легко найти в интернете по запросу «tomcat настройка», или на страничке tomcat. Итак, если мы не идём простым путём (в дальнейшем выяснилось, что и путь, лежащий через установку инсталлятором тоже верен), то последовательность будет следующей. 1. С сайта http://tomcat.apache.org/index.html сохраняем zip-архив, и распаковываем его в папку с путём без пробелов и всяких сложных символов, например, «E:\tomcat\apache-tomcat-8.0.15» . 2. Скачиваем последнюю версию JDK с сайта оракл http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html и ставим её тоже в папку с названием без пробелов (если так не сделать, и установить в папку X:\Program Files\... , то затем, когда мы будем править батник, нам придётся неявно указывать имя папки, это не очень хорошо, почему- будет видно дальше. 3. Открываем «e:\tomcat\apache-tomcat-8.0.15\bin\». Видим много батников и sh сценариев. Открываем «catalina.bat». Там видим много закомментированных строк с переменными окружения, которые должны быть объявлены, или которые можно объявлять, а можно и нет. Те переменные, которые должны быть объявлены — это set CATALINA_HOME="e:\tomcat\apache-tomcat-8.0.15" set JAVA_HOME="e:\ProgramFiles\Java\jre1.8.0_25" причём желательно это сделать в отдельном файле с именем setenv.bat, для этого просто в текстовом редакторе вбиваем эти две строки и сохраняем файл с таким именем в «e:\tomcat\apache-tomcat-8.0.15\bin\» Примечание: если папка с установленным jre содержит пробелы, то имя должно состоять из максимум шести первых букв реального названия папки, и если такое сочетание по алфавиту в диске первое, то ~1, если второе, то ~2, и т. д. Например, название папки, внутри которой находится jre, “C:\Program Files\JRE”, а кроме того есть папка «C:\places\», тогда вторая строчка в setenv.bat будет set JAVA_HOME="e:\Progra~1\Java\jre1.8.0_25", или set JAVA_HOME="e:\P~2\Java\jre1.8.0_25" Естественно, это не очень хорошо, особенно когда у вас две папки “Program Files” и «Program Files (x86)». В таком случае, чтобы проименовать правильно папку с JRE, придётся поэкспериментировать ~1 или ~2. 4. Пробуем запустить, для этого из текущей директории запускаем cmd.exe, в нём запускаем startup.bat . Это нам даст контроль над тем что происходит. Если всё пошло хорошо, то запустится окно Java-приложения в режиме консоли, в котором после запуска будет написано время старта, если же что-то пошло не так, например, папки в setenv.bat указаны неверно, мы увидим сообщения об ошибках. 5. Если глобальные переменные сконфигурированы верно, и запустилось окно java – консоли, но какие-то настройки сделаны неверно, то ошибки можно посмотреть в папке «e:\tomcat\apache-tomcat-8.0.15\logs\». 6. Если пункт 4 выполнен полностью успешно, то в окне браузера можно набрать 127.0.0.1:8080 и в окне будет окно tomcat сервера. 7. Но если мы захотим войти в настройки Host Manager, и т. д., то нас попросят ввыести логин и пароль. Взять их негде, но в папке conf есть файл tomcat-users.xml, который, если открыть, то сначала кажется правильным, но роли и пользователи там взяты в комментарий . Да и роли, и пользователи там явно неверные. Итак, что же делать. 8. Для ответа на вопрос, какие роли должны быть, и каких пользоватей назначать, чтобы войти в админку, на страничке 127.0.0.1:8080. Например, про роли manager можно узнать на страничке ttp://127.0.0.1:8080/docs/manager-howto.html, и вместо одного пользователя admin, как было раньше, теперь есть два пользователя: admin-gui и admin-script. Более подробно про работу с паролями здесь http://127.0.0.1:8080/docs/realm-howto.html Итак, открываем файл conf\tomcat-user.xml и добавляем там после закомментированного блока с логинами и паролями Таким образом, мы получим пользователя superadmin с паролем pass. 9. Про то, как отлаживать работу приложений и т. д. http://wiki.apache.org/tomcat/HowTo#How_can_I_access_members_of_a_custom_Realm_or_Principal.3F 10. теперь при помощи скриптов shutdown.bat и startup.bat перезапускаем сервер, и можем войти в админку. 11. Создаём виртуальные хосты. Для этого посмотрим сюда http://wiki.apache.org/tomcat/TomcatDevelopmentVirtualHosts 12. можно ещё создать в админке ссылку на хост (Это то же самое, что мы сейчас сделали). 13. При создании новых записей в hosts для win8, сначала копируем файл в другую папку, там правим, и затем пишем обратно. После этого рестарт компьютера или сервера не нужен. И в заключении в бесплатной версии IntelliJ Idea не поддерживает web, поэтому для начала можно попользоваться нетбинсом. https://netbeans.org/kb/trails/java-ee_ru.html https://netbeans.org/kb/docs/web/ajax-quickstart_ru.html
Комментарии (25)
  • популярные
  • новые
  • старые
Для того, что бы оставить комментарий вы должны авторизироваться
AlexandrRS 41 уровень, Санкт-Петербург
5 августа 2015, 11:27
Не могу настроить deploy через maven. Maven постоянно находит оправдания, чтобы не деплоить. Ссылки все скурил на эту тему, начиная от мавена, заканчивая томкэтом.
вот кусок pom.xml с вопросами:
<code><distributionManagement>
	<downloadUrl>http:/localhost:8080/alex</downloadUrl>
	<site>
		<id>что сюда писать?</id>
		<name>что сюда писать?</name>
		<url>что сюда писать?</url>
	</site>
	<repository>
		<uniqueVersion>false</uniqueVersion>
		<id>что сюда писать?</id>
		<name>что сюда писать?</name>
		<url>что сюда писать?</url>
		<layout>что сюда писать?</layout>
	</repository>
</distributionManagement></code>
tanzwud 34 уровень
5 августа 2015, 12:24
Если не можете найти инфу в инете думаю не стоит самому собирать проект. Maven archetype в помощь.
Томкат
или
немного устаревший
AlexandrRS 41 уровень, Санкт-Петербург
5 августа 2015, 12:41
Возможно Вы правы, но я другого мнения. Я увидел maven (как и tomcat, hibernate, spring, mysql, junit) 5 дней назад и мне стало утомительно руками копировать war в папку webapp. Я уверен, что требуется больше 5 дней на охват этих технологий и, возможно, я где-то что-то упускаю…
Спасибо за поддержку!
Izhak 22 уровень, Москва
5 августа 2015, 17:01
а зачем war копировать в папку webapp? например, я пока пользуюсь нетбинсом- он сам разворачивает, а если надо на сайт- так здесь вобщем-то тоже нетбинсом можно. Хотя я руками копирую.
AlexandrRS 41 уровень, Санкт-Петербург
5 августа 2015, 17:30
Я привык к idea, не хочу пока прыгать по другим IDE, но netbeans стоит. Все равно хотелось деплоить мавеном, чтобы уж наверняка. Хотя, судя по тому, что я выяснил, через deploy закидывать war в томкэт — это по воробьям…
blacky 23 уровень
5 августа 2015, 20:29
Деплоем в мавене пользуются, когда нужно залить на удаленный сервер. А тут copy-paste war'ка, либо maven:install.
cerebellum 7 уровень
20 апреля 2015, 23:54
Кстати, на днях ковырял TomCat.
Обновил JRE и пошло поехало. Запускаться напрочь отказывается. Но вопрос не в этом.
Ввиду скитаний по каталогам JDK, JRE, Tomcat назрел вопрос:«Почему при установке JDK (которрый в свою очередь предлагает установить JRE), независимо от того установил JRE или нет, в папке jdk появляется каталог jre. Зачем он нужен? Если это среда исполнения, то к чему предлагать/устанавливать её отдельно?»

Есть просвещёные?
nicolas 36 уровень, Nauka
29 мая 2015, 20:43
JRE которая устанавливается внутри JDK используется исключительно для запуска java файлов, которые пишутся в IDE с использованием этого JDK. При попытке сделать этот JRE программой по умолчанию для открытия java файлов — оно ругается, говорит нельзя. Поэтому ставят еще отдельно JRE для запуска jar, java из системы, как приложение по-умолчанию.
timurnav 21 уровень
15 февраля 2015, 00:20
как же всё-таки важно изучать скачанные директории на предмет наличия файлов *.txt очень много интересного можно найти
timurnav 21 уровень
11 февраля 2015, 20:58
мой вопрос может показаться тупым, но почему у меня версия jre7, а не \jre1.8.0_25

содержимое setenv.bat
set CATALINA_HOME="E:\TomCat\apache-tomcat-8.0.18"
set JAVA_HOME="C:\Progra~1\Java\jre7"

а вот что выдала консоль cmd
E:\TomCat\apache-tomcat-8.0.18\bin>startup.bat
Using CATALINA_BASE:   "E:\TomCat\apache-tomcat-8.0.18"
Using CATALINA_HOME:   ""E:\TomCat\apache-tomcat-8.0.18""
Using CATALINA_TMPDIR: "E:\TomCat\apache-tomcat-8.0.18\temp"
Using JRE_HOME:        ""C:\Progra~1\Java\jre7""
Using CLASSPATH:       ""E:\TomCat\apache-tomcat-8.0.18"\bin\bootstrap.jar;"E:\T
omCat\apache-tomcat-8.0.18"\bin\tomcat-juli.jar"
E:\TomCat\apache-tomcat-8.0.18\bin>


при этом на долю секунды появилась новая консоль и пропала (так и должно быть?) адрес 127.0.0.1:8080 не открывается, папка log отсутствует…

как с этим жить-то теперь?
Izhak 22 уровень, Москва
12 февраля 2015, 00:13
Хорошо жить надо :)

по порядку
но почему у меня версия jre7, а не \jre1.8.0_25
т.к. вы когда-то установили версию 7, а версию 8 ещё не устанавливали. Как установить? Набираете в яндексе jre, и первая же ссылка ведёт вас на страницу загрузки на сайте оракл.

Содержимое очень хорошее, и судя по тому, что и моя консоль показывает то же самое, у вас всё отлично.
Хотя в последней строчке ;«E:\T
omCat\apache-tomcat-8.0.18»\bin\tomcat-juli.jar" нет первых и вторых кавычек в выделенном фрагменте.

Я бы переустановил JRE на новую- вы ничего не теряете.

Да, вторая консоль появляется, но не исчезает, пока сервер работает, если же он не запускается, то
она может и пропасть- это консольная джава-программа. собственно сервер как я понимаю.

То, что у вас нет папки логс-очень странно, так как она есть в скачанном архиве томката. Посмотрите, может вы не там смотрите?
Она должна быть здесь E:\TomCat\apache-tomcat-8.0.18\logs
timurnav 21 уровень
12 февраля 2015, 00:23
java-course.ru/student/book1/servlet/
xpoint.ru/know-how/Articles/UstanavlivaemTomcatPodWindows?comments

я уже успел попробовать вот такими путями… что-то пока не то я делаю, видать)
timurnav 21 уровень
12 февраля 2015, 00:34
а вот тут у меня резонный вопрос) у меня jre встало вместе с jdk) мне со старой jre что-нибудь делать?) разобрался
я так понял, нужно добавить просто кавычки в нужном месте? если да, то где? я вроде бы везде писал, как вы и указывали в статье.

содержимое папки томкат: bin, conf, java, modules, res, test, webapps и файлы, может я действительно не там смотрю? или скачал что-то не то. качал не то, что нужно, нигде блин нет уточнений что нужно качать из раздела core Your text to link... ну либо это я такой несообразительный)
Izhak 22 уровень, Москва
12 февраля 2015, 00:56
Я беру 64 бит виндоус ссылку на зип архив apache-mirror.rbc.ru/pub/apache/tomcat/tomcat-8/v8.0.18/bin/apache-tomcat-8.0.18-windows-x64.zip
timurnav 21 уровень
12 февраля 2015, 01:00
Спасибо за Вашу помощь, проблема решена, не то что надо качал я, всё от невнимательности..

P.s. вечер убит, но есть большой плюс — я теперь точно запомню как настраивать TomCat))
Izhak 22 уровень, Москва
12 февраля 2015, 01:04
бизрат ашем :)
я убил полторы недели.
timurnav 21 уровень
12 февраля 2015, 01:07
зато способ с файлом setenv — самый действенный из всего, что я нашел — без него я бы долго втыкал в настройки переменных
Izhak 22 уровень, Москва
12 февраля 2015, 01:12
так написано в каталина.бат
rem Do not set the variables in this script. Instead put them into a script
rem setenv.bat in CATALINA_BASE/bin to keep your customizations separate.
timurnav 21 уровень
12 февраля 2015, 01:13
маг и волшебник вот кто ты)
Izhak 22 уровень, Москва
12 февраля 2015, 01:36
не, мне нельзя :)
timurnav 21 уровень
14 февраля 2015, 14:41
Izhak 22 уровень, Москва
14 февраля 2015, 23:32
могу тоолько предложить писать в нетбинс- интеллиджи я особо не научился готовить, поэтому вот так info.javarush.ru/Izhak/2014/12/30/AJAX-и-другие-языки.html
по интеллиджи нашёл только такое info.javarush.ru/Izhak/2014/12/28/Поотлаживаемся-на-виртуальном-хосте.html но это не о сервлетах.
Diana 41 уровень
16 января 2015, 00:18
утащила статью на 35 уровень :)
Izhak 22 уровень, Москва
16 января 2015, 13:52
:^)
Gradus 27 уровень, Санкт-Петербург
26 декабря 2014, 10:30
Спасибо за статью! Полезная инфа