null

Установка WebSphere 8.5 в качестве службы Windows Server 2012

Так сложилось, что в последнее время мне всё чаще и чаще приходится устанавливать разработанные приложения в окружениях под управлением операционных систем семейства Windows Server. JavaEE-приложения обычно развёртываются на каком-либо сервере приложений, который, если всё делать по-правильному, должен быть сконфигурирован в качестве службы Windows. Отсюда возникла целая серия заметок, в первой из которых я рассказывал о решении этой задачи для сервера приложений Sun / Oracle GlassFish, а во второй - для Apache Tomcat. В этой заметке я продолжу начатую тему и расскажу о создании службы Windows для выбранного профиля сервера приложений IBM WebSphere.

Технические нюансы

Сразу отмечу, что в случае WebSphere решение поставленной задачи не вызвало у меня каких-либо проблем - вся необходимая информация легко находится в документации IBM к своему серверу приложений. Единственный нюанс заключается в том, что в разных версиях WebSphere для создания службы используются разные утилиты, так что стоит заранее убедиться, с какой версией сервера приложений вы работаете. Инструкцию по конфигурации службы для предыдущей версии WebSphere можно посмотреть здесь.

Постановка задачи

Для конкретики примем, что мы используем WebSphere актуальной версии 8.5.X и Windows Server 2012. Административной единицей установленного сервера приложений является так называемый профиль (profile) - совокупность приложений и сервисов, администрируемых централизованно. По сути, профиль - это практически полный аналог домена GlassFish.

Так как отдельные профили администрируются независимо друг от друга, службы надо создавать для каждого профиля по-отдельности. Для того профиля, который был создан при установке WebSphere (если вы, конечно, выбрали опцию создания нового профиля в установщике), служба конфигурируется автоматически, поэтому ничего больше делать не нужно.

Утилита WasService.exe

Для всех остальных профилей службы Windows надо конфигурировать вручную. Самый простой способ сделать это - использовать утилиту WasService.exe из комплекта поставки WebSphere. Она находится в каталоге %WEBSPHERE_HOME%\AppServer\bin. Синтаксис у неё простой:

WasService.exe -command <service name> [-argument <value>]*

Основные команды следующие:

1. Создание нового сервиса:

-add <service name>
  -serverName <Server>
  -profilePath <Server's Profile Directory>
    [-wasHome <Websphere Install Directory>]
    [-configRoot <Config Repository Directory>]
    [-startArgs <additional start arguments>]
    [-stopArgs <additional stop arguments>]
    [-userid <execution id> -password <password>]
    [-logFile <service log file>]
    [-logRoot <server's log directory>]
    [-encodeParams]
    [-restart <true | false>]
    [-startType <automatic | manual | disabled>]

Имя сервиса можно выбрать произвольное; имя сервера и путь к профилю определяются конфигурацией сервера приложений и местонахождением профиля в файловой системе. Остальные аргументы являются опциональными и позволяют переопределить значения по умолчанию.

2. Удаление сервиса:

-remove <service name>

3. Запуск сервиса:

-start <service name> [optional startServer.bat parameters]

4. Остановка сервиса:

-stop <service name> [optional stopServer.bat parameters]

Командам запуска и остановки можно задать дополнительные аргументы, которые будут переданы на вход утилитам startServer.bat и stopServer.bat, соответственно. Этими командами можно и не пользоваться, а использовать вместо них панель управления сервисами - мы в итоге поступим именно так.

Конфигурация службы

Итак, с теоретическими вопросами разобрались, теперь посмотрим, что получится на практике. Т.к. для дефолтного AppSrv01 служба уже создана, создадим новый профиль. Для этого откроем WebSphere Customization Toolbox и кликнем "Создать":

Создаём новый профиль

Не будем оригинальничать, и назовём профиль AppSrv02.

Теперь попробуем сконфигурировать службу для него. Для этого запустим командную строку (обязательно из-под администратора), перейдём в каталог с бинарниками WebSphere и запустим утилиту WasService.exe со следующими аргументами:

c:\IBM\WebSphere\AppServer\bin>WASService.exe -add WAS2
  -profilePath c:\IBM\WebSphere\AppServer\profiles\AppSrv02
  -serverName server1

Имя сервера оставляем дефолтным, в profilePath указываем путь к AppSrv02. Смотрим, что у нас получилось:

Служба успешно создана

Проверяем, добавилась ли служба:

Проверяем, добавилась ли служба.

Добавилась! Задача успешно решена.

Коротко о себе:

Работаю ведущим программистом в компании Tune IT и ассистентом кафедры Вычислительной техники в Университете ИТМО .

Занимаюсь проектами, связанными с разработкой разного рода веб-приложений (порталы, CRM-системы, системы электронного документооборота), а также, в рамках научной работы на кафедре, изучаю возможности применения семантического анализа в задачах САПР.