Установка и настройка Tomcat.
Существует множество коммерческих JAVA-хостингов, но они дороги и у них много всяких ограничений для первоначального освоения JAVA. Поэтому на этой страничке я покажу, как можно настроить себе бесплатный девелоперский хостинг на базе простейшего сервера JEE-приложений - Tomcat.
Обратите внимание, что Tomcat не является наилучшим или универсальным контейнером для запуска JAVA-приложений. Например TNAPS Application Server - позволяет одновременно запускать и JAVA и NET - приложения. При этом TNAPS Application Server умеет работать не только на Windows и Linux, но даже и на Macintosh.
Однако Tomcat является одним из самых распространенных OpenSource-серверов Java-приложений (наряду с Jboss, Glassfish, Geronimo, JOnAS) - поэтому в этой краткой заметке я расскажу именно о нем.
Чтобы настраивать Tomcat, надо понимать что это лишь сервисный запускающий контейнер для JAVA-приложений, некая надстройка над Java virtual machine. К обработке реквестов, поступающих по HTTP эта надстройка прямого отношения не имеет. Запуск JAVA-приложений в контейнере Томката или без него (непосредственно в JVM) напоминает запуск MONO-приложений линуксовой командой mono.
Соответственно, чтобы настроить web-приложение, которое слушает порт 80 по HTTP, создает экземпляр пользовательского приложений и назначает созданному экземпляру приложения поступивший по HTTP реквест - необходимо настроить кроме самого Томката еще и связку Томката с Apache или IIS. Ровно точно так же как настраивается для MONO модуль mod_mono, для Tomcat надо настраивать mod_jk в среде Apache или isapi_redirect.dll в среде IIS.
Поэтому эту заметку я разобью на несколько разделов:
- Установка Tomcat в среде Windows
- Настройка Tomcat в среде IIS
- Установка Tomcat в OpenSuse Linux
- Связка Tomcat и Apache
- Запуск Tomcat в среде Eclipse
- Настройки Java web start в среде Tomcat
Установка Tomcat в среде Windows
Для начала на кампутер надо поставить JDK, потом Tomcat. В процессе установки Tomcat надо указать свободные порты кампутера.
Чтобы входить в web-админку, надо в tomcat-users.xml отредактировать роли и пароль. После чего Tomcat можно запустить.
Запустив TcpView можно увидеть все открытые порты кампутера и в том числе порт, которые слушает Tomcat.
Другой дистрибутив для установки Tomcat - в виде Windows-сервиса. В этом случает так же надо прописать логин/пароль для входа в админку.
Томкат-сервис управляется как windows-служба и имеет иконку в трее.
При работе важно точно понимать, какие порты слушает сервис Томката, на каких портах он запускается вручную, на каких портах Томкат запускается внутри среды Eclipse. Важно понимать отличие Томката от web-сервера Apache (хотя у Web-сервера Apache и Tomcat-сервиса совершенно одинаковая иконка в виде красного перышка - логотипа Apache foundation).
Установка Tomcat в среде Linux
Для установки Tomcat в Linux надо для начала поставить JDK.
Потом ставится собственно Tomcat. После установки - нужно посмотреть куда записаны все его конфигурационные файлы.
И как минимум tomcat-users.xml редактируется, чтобы можно было войти к нему в админку. После запуска Tomcat можно посмотреть какие он открыл порты.
Связка Tomcat и Apache
Запуск Tomcat вручную или как сервиса Linux не связан с запуском Tomcat из-под Apache для каждого входящего веб-реквеста. Для этого надо настраивать коннектор AJP13, через который реквесты передаются из web-сервера в томкат. Но, независимо от того, будет ли у вас в апаче несколько виртуальных узлов или один - для начала надо включить модуль mod_jk.so в конфигурацию Apache. Так же как и модуль mod_mono.so.
Далее настраивается worker.properties, в котором указываются параметры коннектора.
Потом настраивается модуль mod_jk.so, для которого надо прописать все параметры - или только для дефолтного узла или для виртуальных узлов тоже.
Запуск Tomcat в среде Eclipse
Внутри среды Eclipse запускается отдельный ТОМКАТ, не связанный с тем, что можно запустить непосредственно из операционки. После установки Eclipse эту среду (Runtime Environment) надо установить из ссылки, которая находится в среде Eclipse.
Он имеет свои настроечные файлы и управляется непосредственно изнутри Eclipse.
После того, как JREE Tomcat добавлена в Eclipse - ее надо указывать при создании web-проекта.
Разработанный в среде Eclipse проект запаковывается в war-файл и либо просто копируется в каталог Tomcat/webapp либо скармливается Томкату через web-интерфейс.
Настройки Java web start в среде Tomcat
В заключении я покажу как настроить в среде Tomcat автоматический запуск JAVA-приложений с web-страничек по протоколу JNLP. Фрейм с таким приложением вы видите ниже:
Настройка состоит в настройке сервера и клиенского кампутера. Для того чтобы все сработало как на скринах ниже - надо настроить сервер и клиент.
Настройка клиента заключается в том, чтобы переменная JAVA_HONE смотрела на виртуальную машину JAVA, затем надо открыть настройки VM и посмотреть какие версии JAVA поддерживаются на клиентском кампутере. Потом в параметрах VM надо установить правильные режимы запуска JNLP. Иначе на клиентской машине (даже при правильно настроенном сервере) вы будете получать такое сообщение как на первом скрине.
Настройка на сервере Tomcat заключается в создании нового приложения в среде Tomcat и правильного заполнения в нем двух файлов конфигурации *.JNLP и WEB.XML.
Прога JaNeLa производит комплексную диагностику настройки JNLP и выдает диагностическу ошибок настроки.
Рассмотренная выше технология Java web start - это один из многих способов запустить JAVA-приложение на локальной машине. Еще один интересный способ запуска (которого нет в MONO - там есть просто компиляция в бинарник с помощью mkbundle) - это создание c помощью launch4j враппера, который создает на локальной машине обертку в виде обычного EXE-файла и вызывает на исполнение java-скрипт. При этом этот экзешник имеет обычную иконку, которую можно привычно кликать мышкой.
Все то же самое я сделал на скринах ниже для Linux, но вышеописанная прога позволяет сразу же создать и SoftLink (кликабельную иконку на рабочем столе или в ином месте) и сразу же загрузить нужный рисунок в иконку. Что конечно же, весьма удобно.
У меня на сайте вы также можете найти множество различных описаний правильной настройки различных подсистем хостинга:
- Создание информационной инфраструктуры предприятий.
- Low cost and platform independent ASP.NET - be free with MONO.
- Модернизация Web-сервера - долой платный софт и Hyper-V.
- Избавляемся от Team Foundation Server - ставим Subversion.
- Избавляемся от MS Exchange на Window-платформе (hMailServer + ASSP).
- Настройка HTTP и FTP-серверов в Linux (Apache/vsftpd).
- Поднимаем на хостинге MySQL и PostgreSQL сервера.
- Основы работы с VmWare.
- Делегирование домена на свои DNS.
- Настройка FTP-сервера (Isolated Ftp Site).
- Настройка Exchange Server 2003.
- ННастройка ISA2006 в конфигурации внутреннего межсетевого экрана с роутингом на основе хост-хеадеров
- CISCO PIX 501.
|