Андрей Смирнов
Время чтения: ~15 мин.
Просмотров: 30

Первоначальная настройка Tomcat и его регистрация в NetBeans

Мне необходимо было настроить и запустить Tomcat на Mac OS X (Mountain Lion) и зарегистрировать данный сервер приложений (контейнер сервлетов) в NetBeans. Для того чтобы это сделать, я выполнил следующие пункты.

Установка Tomcat
  1. Скачать архив Tomcat отсюда.
  2. Распаковать архив, например, в папку пользователя.
    ~/apache-tomcat-7.0.42
  3. Открыть программу «Терминал».
  4. Перейти в папку «bin»
    cd ~/apache-tomcat-7.0.42/bin

    и установить разрешение на запуск файлов с расширением .sh.

    sudo chmod +x ./*.sh
  5. Установить переменную окружения CATALINA_HOME. Для того чтобы она сохранилась не на время сессии в терминале, а постоянно, нужно ее прописать в файле «launchd.conf». Создать/открыть файл (пример приведен с помощью редактора vi, но можно использовать любой другой, например emacs):
    sudo vi /etc/launchd.conf

    Перейти в режим вставки: «клавиша s». Записать туда текст:

    setenv CATALINA_HOME /Users/ХХХ/apache-tomcat-7.0.42

    XXX — это имя вашего пользователя, если вы сохранили tomcat в папку пользователя как было указано в п.2, если нет, то укажите путь к папке, куда вы сохранили tomcat. Закрыть режим вставки «клавиша Esc». Перейти в режим команды «клавиша :». Сохранить файл, команда «wq».

  6. По умолчанию сервер настроен на порт 8080. Чтобы его изменить нужно перейти в папку «conf»:
    cd ~/apache-tomcat-7.0.42/conf

    Открыть там файл «server.xml». Найти тэг «Connector» где атрибут port равен «8080» и установить атрибут port в нужное Вам значение:

         
  7. По умолчанию пользователь, имеющий права публикации (deploy) на сервер через веб GUI или через скрипт, отключен. Его нужно прописать в файле «tomcat-users.xml». Для этого нужно перейти в папку «conf»:
    cd ~/apache-tomcat-7.0.42/conf

    Открыть там файл «tomcat-users.xml» и добавить следующее (имя пользователя и пароль можно использовать отличающиеся от приведенных):

     <role><rorouscode></role>
  8. езагрузить компьютер, чтобы установленная переменная окружения CATALINA_HOME установилась.
  9. Открыть программу «Терминал».
  10. Перейти в папку «bin»
    cd ~/apache-tomcat-7.0.42/bin

    и запустить скрипт «startup.sh»

    sh startup.sh

    Должно отобразиться в терминале примерно следующее (в зависимости от ваших настроек системы):

     Using CATALINA_BASE:   /Users/ХХХ/apache-tomcat-7.0.42 Using CATALINA_HOME:   /Users/ХХХ/apache-tomcat-7.0.42 Using CATALINA_TMPDIR: /Users/ХХХ/apache-tomcat-7.0.42/temp Using JRE_HOME:        /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home Using CLASSPATH:       /Users/ХХХ/apache-tomcat-7.0.42/bin/bootstrap.jar:/Users/XXX/apache-tomcat-7.0.42/bin/tomcat-juli.jar 
  11. Запустить браузер и набрать в адресной сроке http://localhost:8080. Если вы поменяли порт, как было указано в п. 6, то укажите свой порт.
  12. Должна открыться домашняя страница tomcat.
  13. По кнопке «Server status» можно посмотреть статус поднятого сервера. Нужно будет ввести имя пользователя и пароль созданные ранее.
  14. По кнопке «Manager App» можно публиковать (удалять) приложения. Нужно будет ввести имя пользователя и пароль созданные ранее.
  15. Остановка сервера выполняется следующим образом. Перейти в папку «bin»
    cd ~/apache-tomcat-7.0.42/bin

    и запустить скрипт «shutdown.sh»

    sh shutdown.sh
Регистрация сервера Tomcat в NetBeans
  1. Если была установлена 8 версия Tomcat, то необходимо сделать символьную ссылку на каталог библиотек.
     ln -s /Users/XXX/apache-tomcat-8.0.0-RC3/lib /Users/XXX/apache-tomcat-8.0.0-RC3/common/lib 
  2. Открыть NetBeans
  3. Меню Сервис->Серверы
  4. В открывшемся окне нажать кнопку «Добавить сервер»
  5. В открывшемся окне выбрать «Apache Tomcat» и нажать кнопку «Далее»
  6. В следующей отображенной панели указать домашнюю папку Tomcat, например «/Users/ХХХ/apache-tomcat-7.0.42»
  7. Указать имя пользователя и пароль, созданные ранее. Нажать кнопку «Далее».
  8. Указать порт, если он был изменен ранее. Нажать кнопку «Готово».
  9. Для проверки можно создать Веб приложение и выбрать в качестве сервера приложений Apache Tomcat. После чего запустить его из NetBeans. Данное приложение развернется автоматически в Tomcat-е и запуститься в браузере, например под таким адресом: http://localhost:8090/WebApplication1 (обычно по умолчанию шаблон веб приложения содержит страничку jsp с текстом «Hello World!»).
Примечание

Это не относится к настройке Tomcat или регистрации сервера Tomcat в NetBeans, но некоторые приложения ищут java в папке /bin, а в Mac OS X java устанавливается в другие папки, но при этом есть символьная ссылка на java в папке /usr/bin. Таким образом нужно сделать еще одну символьную ссылку на java.

 sudo ln -s /usr/bin/java /bin/java 

Руководство по настройке TomcatСоздание и запуск вашей первой веб-службы RESTful на сервере приложений GlassFish</li>Как просто улучшить UX</li>Posted on 13.07.2017 in Управление проектами —>

Следующий шаг после установки Tomcat — выбрать базовые настройки. Этот процесс разбит на два этапа, которые детально описаны в этой статье. Первый — редактирование файлов настроек XML , второй — выбор соответствующих переменных для среды.

Файлы настроек XML

Два самых важных файла настроек, чтобы запустить Tomcat, называются .xml и web.xml. По умолчанию они размещены в TOMCAT-HOME/conf/server.xml и TOMCAT-HOME/conf/web.xml, соответственно.

Не выполняйте одни и те же настройки дважды. Try Tcat — профили сервера, которые позволяют сохранять общие настройки и применять их к нескольким экземплярам Tomcat в один клик.

st13072017-2.jpg

SERVER.XML

Файл server.xml — главный файл настроек Tomcat. Элементы server.xml относятся к пяти базовым категориям:

  • Элементы верхнего уровня (Top Level Elements)
  • Соединители или коннекторы (Connectors)
  • Контейнеры (Containers)
  • Встраиваемые компоненты (Nested Components)
  • Глобальные настройки (Global Settings)

У всех элементов из этих категорий имеется множество атрибутов, которые позволяют точно определить функциональные возможности. Чаще всего если необходимо внести какие-то существенные изменения в установку Tomcat, как, например, изменить число портов, приходится редактировать файл server.xml.

На сайте Apache’s Tomcat Documentation содержится достаточно информации, но нет некоторых сведений о настройках элементов. В этой статье все это освещено.

Элементы верхнего уровня

Server (сервер)

Этот элемент определяет отдельный сервер Tomcat и содержит элементы конфигурации Logger и ContextManager. К тому же, элемент Server поддерживает атрибуты “port”, “shutdown” и “className”. Атрибут порт используется для того, чтобы уточнить, через какой порт должны выполняться команды shutdown (отключения). Атрибут shutdown задает командную строку для отдельного порта, чтобы спровоцировать отключение. Атрибут className — реализацию класса Java, которая должна использоваться.

Service (сервис)

Это элемент, который можно поместить в элемент Server; он содержит один или несколько компонентов Connector, у которых один общий компонент Engine. Главная функция этого компонента — задать эти компоненты как один сервис. Название сервиса, который будет появляться в логах, определяется с помощью атрибута “name” (элемент Service).

Connectors (соединители)

Размещая один или несколько соединителей (connector) в теге Service, вы тем самым позволяете системе перенаправить запросы из этих портов в один компонент Engine для обработки. Tomcat позволяет определить соединители HTTP и AJP.

HTTP- соединитель

Этот элемент представляет HTTP/1.1 Connector и обеспечивает Catalina автономным функционалом веб-сервера. Это означает, что в дополнение к выполнению сервелатов и JSP -страниц, Catalina  способен прослушивать специфические TCP-порты для запросов. Настраивая HTTP-коннекторы, обращайте  внимание на атрибуты “minSpareThreads”, “maxThreads” и “acceptCount”.

Атрибут “maxThreads” особенно важен. Он контролирует максимальное число тредов, которые можно создать для управления запросами. Если будет установлено слишком малое значение, запросы будут застревать в серверном сокете, что может спровоцировать отказ в соединении. Эта проблема устраняется во время тестирования.

AJP-соединитель

Данный элемент является соединителем, который обеспечивает связь с протоколом AJP. Главная роль элемента в том, чтобы помочь Tomcat работать в связке с Apache.

Контейнеры

С помощью этих элементов Catalina направляет запросы в корректный обрабатывающий аппарат.

Context

Этот элемент представляет определенное веб-приложение и содержит данные о пути, по которому определяются запросы для соответствующих ресурсов приложения. Catalina получает запрос и пытается сопоставить самый длинный URI с контекстным путем определенного элемента Context до тех пор, пока не найдется корректный элемент, который бы обслуживал запрос.

У элемента Context может быть максимум один встроенный экземпляр на один элемент из вспомогательных элементов Loader, Manager, Realm, Resources и WatchedResource.

Хотя Tomcat позволяет определять элементы Context в “TOMCAT-HOME/conf/server.xml”, этого лучше избегать, поскольку эти главные настройки нельзя перезагрузить без перезагрузки Tomcat.

Engine

Этот элемент используется в связке с одним или несколькими соединителями, которые размещены в элементе Service. Элемент Engine может использоваться только в случае если он размещен в элементе Service, и только один элемент Engine разрешен в элементе Service. Обращайте внимание на атрибут “defaultHost”, который задает элемент Host.

Последний отвечает за обслуживание запросов для названий хостов на сервере, которые не настраиваются в server.xml. Название этого атрибута должно совпадать с названием одного из элементов Host, которые размещены в элементе Engine. Также важно выбрать уникальное, логичное название для каждого из элементов Engine, используя атрибут “name”. Если один элемент Server в вашем файле server.xml включает несколько элементов Service, потребуется выбрать уникальное название для каждого элемента Engine.

Host

Элемент, который размещен в элементе Engine, и используется, чтобы связать названия серверной сети с серверами Catalina . Этот элемент будет функционировать должным образом только если виртуальный хост был зарегистрирован в системе DNS соответствующего домена. Одна из самых полезных особенностей элемента Host — возможность содержать элементы Alias, использующиеся для того, чтобы определить названия нескольких сетей.

Cluster

Элемент Cluster используется в Tomcat для того, чтобы обеспечить репликацию контекстных атрибутов, использование WAR, репликацию сессий, и может размещаться в элементе Engine или Host. В них размещаются элементы Manager, Channel, Valve, Deployer и ClusterListener.

Больше информации об этих элементах и о том, как они используются, можно найти на странице Apache Tomcat Configuration. И хотя у этого элемента множество различных конфигураций, стандартной конфигурации будет вполне достаточно, чтобы учесть интересы большинства пользователей при разработке приложения .

Nested Components

Эти элементы размещаются внутри

элементов container, чтобы задать дополнительные функциональные возможности.

Listeners

Эти элементы можно поместить внутрь элементов Server, Engine, Host или Context. Они указывают на компонент, который производит определенное действие при специфическом событии.

У большинства компонентов есть атрибуты className, чтобы выбрать разные реализации элемента. Существует ряд дополнительных реализаций Listener, не только дефолтных. Все эти реализации требуют, чтобы элемент Listener размещался в определенном элементе Server.

И крайне важно настроить этот атрибут корректно. Доступные на текущий момент реализации содержатся в APR Lifecycle Listener, Jasper Listener, Server Lifecyle Listener, Global Resources Lifecyle Listener, JMX Remote Lifecycle Listener и в JRE Memory Leak Prevention Listener.

Global Naming Resources

Этот элемент используется, чтобы определить ресурсы Java Naming and Directory Interface для специфического Server, отличного от любых контекстов веб-приложения JNDI. Если нужно, вы можете задать характеристики JNDI resource lookup для и в данном элементе, определив их и связав с помощью <resourcelink>.</resourcelink>

<таты этого метода эквивалентны добавлению элементов в файл приложения “/WEB-INF/web.xml”. Если используете эту технику, проверьте, что вы определили дополнительные параметры, которые необходимы, чтобы задать и настроить объект-фабрику и свойства.

Realm

Этот элемент размещается в любом элементе Container и задает базу данных, содержащую имена пользователей, пароли и роли для Container. При размещении внутри элемента Host или Engine, характеристики, заданные в элементе Realm, передаются всем контейнерам нижнего уровня по умолчанию.

Важно корректно установить атрибут “className” этого элемента, поскольку существует множество реализаций. Эти реализации используются, чтобы сделать доступным Catalina другим системам управления безопасностью пользователей (например, JDBC , JNDI или DataSource).

Resources

У этого элемента только одно предназначение — направить Catalina в статические ресурсы, которые используются вашими веб-приложениями. Эти ресурсы включают классы, HTML и JSP файлы. Использование этого элемента предоставляет Catalina доступ к файлам, содержащимся в других местах, помимо файловой системы (filesystem), таким как ресурсы, которые содержатся в архивах WAR или базах данных JDBC.

Важно помнить, что это техника предоставления веб-приложениям доступа к ресурсам, которые содержатся вне файловой системы, может использоваться только, если приложение не требует непосредственного доступа к ресурсами, которые хранятся в файловой системе.

Valve

Компоненты Valve размещаются внутри элементов Engine, Host и Context, с их помощью добавляются специальные функциональные возможности в конвейер, обрабатывающий запросы. Это очень разносторонний элемент. Существует множество различных типов элементов Valve — от аутентификаторов до фильтров и исправлений ошибок WebDAV. Многие из этих типов Valve размещаются только внутри специальных элементов.

Web.XML

Файл web.xml содержит информацию, которая используется для конфигурации компонентов ваших веб-приложений. Задавая конфигурацию Tomcat в первый раз, вы можете задать servlet-mapping для центральных компонентов, таких как JSP. В Tomcat этот файл функционирует так же, как описано в спецификации Servlet.

Единственное отличие в том, как Tomcat обрабатывает этот файл: есть опция задать с помощью TOMCAT-HOME/conf/web.xml значения по умолчанию для всех контекстов. Если используется такой метод, базовой конфигурацией будет служить TOMCAT-HOME/conf/web.xml, который может переписать специфические для приложения файлы WEB-INF/web.xml.

Другие важные файлы конфигурации

Есть и другие важные файлы. Список ролей, пользователей и паролей, которые UserDatabaseRealm использует для аутентификации, их можно найти в tomcat-users.xml. Если нужен доступ к другим административным инструментам, которые присутствуют в Tomcat, вы можете отредактировать файл и добавить доступ администратора и менеджера.

Стандартные настройки контекста вашей установки Tomcat могут быть изменены в файле context.xml. Файл catalina.policy, который заменяет файл java.policy (с избранным JDK), содержит настройки разрешения для элементов Tomcat. Вы можете редактировать этот файл вручную или же с помощью policytool.

Переменные среды

Если Tomcat настраивается в первый раз, понадобится изменить несколько переменных среды, чтобы они соответствовали вашим требованиям.

JAVA_OPTS

С помощью этой переменной изменяется размер heap size of the JVM . Установить соответствующие значения для этой переменной крайне важно при размещении нового приложения, которому может понадобиться определенный размер динамической памяти для корректной работы. Подобрав соответствующие значения для этих настроек, вы сможете уменьшить число OOME-сообщений.

CATALINA_HOME

Эта переменная задает место установки Tomcat. Скрипты автозапуска в Tomcat будут пытаться определить значение этой переменной, но лучше просто установить корректное значение, чтобы избежать сложностей.

CATALINA_OPTS

Переменная, которая используется для установки различных специфических опций в Tomcat.

—>

Установка Apache Tomcat в ОС Windows

На протяжении всего времени изучения и освоения Java, я старался разобраться и научиться программировать/писать Window Application. Но, если честно, поразмыслив на досуге, решил все-таки сменить вектор обучения: решил освоить Servlet-ы и податься в <strike>облака</strike>Web-программирование. Для работы /изучения сервлетов нам понадобится  веб-сервер Apache Tomcat.Apache Tomcat —  программа-контейнер сервлетов, написанная на языке Java и реализующая спецификацию сервлетов и спецификацию JavaServer Pages (JSP), которые являются стандартами для разработки веб-приложений на языке Java. Tomcat позволяет запускать веб-приложения, содержит ряд программ для самоконфигурирования.Tomcat используется в качестве самостоятельного веб-сервера, в качестве сервера контента в сочетании с веб-сервером Apache HTTP Server, а также в качестве контейнера сервлетов в сервере приложений JBoss. Когда-то в одном из своих постов на блоге я уже писал про установку и настройку Apache Tomcat, но хотелось бы рассмотреть эту тему более подробно и детально. В данной статье хотелось бы более подробно рассмотреть настройку и установку Tomcatдля ОС Windows. Настройку Apache Tomcat для ОС Linux вынесу в отельную статью. Материал по данной тематике огромный, поэтому этот пост будет добавляться/обновляться по мере изучения и освоения Tomcat.Итак, понеслось….Для начала нам необходимо скачать TomCat с официального сайта разработчиков. Описание доступных версий TomCat можно посмотреть на данной страничке. На момент написания статьи последней стабильной версией была 7.0.14.Приведу прямые ссылки для скачивания данной версии:Рассмотрим вариант установки Tomcat при помощи исполняемого файла, который установит Tomcat в качестве службы Windows и TomCat будет запускаться при старте системы. После скачивания установщика запускаем его и отвечаем на простые вопросы:вначале соглашаемся с лицензионным соглашением, затем выбираем тип установки (полный, выборочный, нормальный, минимальный) — я выбрал полный. Дальше установщик запросит у нас некоторую конфигурацию: порт подключения (по умоланию 8080):

OptionsOfTomCat.png
Настройки Apache TomCat

 Это означает, что для запуска Tomcat  в командной строке броузера нам нужно будет вводить адрес вида: https://localhost:8080  Значение порта подключения можно оставить по умолчанию, но если у нас на компьютере или сервере будет использоваться в качестве Web-сервера только Tomcat, то значение порта можно поставить равное 80. Следовательно строка ввода адреса в браузере будет выглядеть просто https://localhost (без указания порта). Укажем порт 80. В последствие данное значение можно будет изменить вручную в настройках сервера (файл server.xml). Далее указываем свой логин и пароль. Роли оставим указанные по умолчанию: admin-gui, manager-gui.  Далее указываем путь к установленной jdk на нашем компьютере. И в завершение указываем путь куда устанавливать TomCat и нажимаем Install.После завершения установки оставляем галочку «Запустить TomCat«:

FinishInstall.png
Завершение установки TomCat

Нажав кнопку Finish, мы увидим окно запуска TomCat в качестве сервиса ОС Windows:

StartingServiceTomCat.png
Запуск Apache в качестве сервиса в ОС Windows

Кроме того, в системном лотке (он де System Tray) рядом с часами появится значок TomCat, при помощи которого можем запускать/останавливать сервер, а также открыть окно настроек:

ApacheTray.png
Apache TomCat в системном лотке(трее)

 Теперь наступила пора проверить работоспособность сервера TomCat: для этого в сроке ввода адреса в нашем любимом браузере вводим команду:

https://localhost:8080

В результате, если все прошло гладко, откроется домашняя страница TomCat:

localhostTomCat.png
Домашняя страница Apache TomCat на нашем localhost

Часть информации и документации на открывшейся страничке localhost будет дублируется с официального сайта.Кроме того, установленный сервер TomCat будет доступен пользователям Вашей локальной сети — никаких дополнительных настроек делать не нужно.На этом данный вид установки TomCat можно считать завершенным.Теперь коротко рассмотрим другой вариант установки и запуска: из архива. Итак.. после скачивания архива для соответствующей архитектуры Winsows распаковываем его в любое удобное для нас место, например D:/Java/apache-tomcat-7.0.14/  Запускаем командную строку Windows и переходим в папку: D:/Java/apache-tomcat-7.0.14/bin/ — в данной папке находятся исполняемые файлы для TomCat. Для установки TomCat в качестве службы Windows вводим команду:

service.bat install 

Более подробную информацию по установке можно почитать на данной страничке.Запускать TomCat можно при помощи команды

 startup.bat

Остановить сервер можно при помощи команды команды:

 shutdown.bat

Не забываем предварительно добавить системные переменные: CATALINA_HOME и JAVA_HOME. Выглядеть они будут примерно так:

JAVA_HOME: c:Program FilesJavajdk1.6.0_18CATALINA_HOME: D:/Java/apache-tomcat-7.0.14

Собственно на этом установка Apache TomCat закончена. Информация о дополнительной настройке и использовании TomCat будет чуть позже.Используемые источники:

  • https://habr.com/post/196136/
  • http://wnfx.ru/tomcat-rukovodstvo-po-nastroyke/
  • https://www.devbug.info/2011/06/apache-tomcat-windows.html

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации