- Установка JAVA SDK и WASCE
- 1) Устанавливаем дополнительные библиотеки (все зависимости подтянутся автоматически)
- 2) Апгрейдим даш (т.к. нам мало функционала sh, а нужен bash)
- 3) Качаем IBM java SDK. Патчим, инсталим.
- 4) Даем права на папку своему пользователю
- 5) Устанавливаем Java OpenSDK
- 6) Учим систему использовать новые java-команды
- 7) Берем сам сервер тут (в архиве)
- 8) Даем права на исполнение sh-скриптов
- 9) Запускаем сам сервер
- 10) Для автозапуска при загрузке системы, необходимо сюда
- Инстанцирование (instances)
- 1) Подготовка..
- 2) Создать в корневом каталоге App Сервера каталоги инстансов
- 3) Скопировать каталог var
- 4) В настройках инстанса №1
- 5) В настройках инстанса №2
- 6) Дальше необходимо настроить через веб-интерфейс. Сначала запускаем инстанс №1
- 7) Запускаем инстанс №2
- 8) Итак, для запуска инстанса №1
- Для запуска инстанса №2
- Автозапуск инстансов
- Альтернативный способ (запуск 2-х WASCE)
- Подсказки
Наша задача : подготовить сервер для работы полностью сконфигурированного IBM® WebSphere® Application Server Community Edition. Мы сделаем это на up-to-date Ubuntu Server 12.04 LTS, сOpenSSH и FTP на борту (для удобства). В дальнейшем вы можете использовать данный рецепт для монтажа WebSphere на какой угодно дистрибутив ОС Linux.
Статья написана на примере x32 версии сервера, JAVA и Websphere. Она имеет ограничение в максимум 4Гб выделяемой памяти на процесс (что и обозначено в конфигурационных файлах нашего сервера). Если нужно использовать х64 версию - по сути у нас ничего не меняется (просто замените указанные ниже "i386" на "x86_64" во всех конфигурациях и путях), и используйте х64 сервер и х64 JAVA SDK. Возможно, также потребуется правка настроек сервера, см. подсказка №2.
Важно! Убедитесь, что у вас есть доступ к Интернету в обход корпоративного прокси-сервера (либо есть соответствующие права), иначе он будет мешать обновляться софту.
Установка JAVA SDK и WASCE
Предварительная настройка системы и установка необходимого ПО.
1) Устанавливаем дополнительные библиотеки (все зависимости подтянутся автоматически)
sudo apt-get install libxtst6
sudo apt-get install libgtk-3-0sudo apt-get install ia32-libs-multiarch
2) Апгрейдим даш (т.к. нам мало функционала sh, а нужен bash)
sudo -i
cd /bin
unlink sh
ln -s /bin/bash sh
Проверяем (должен быть bash):
ls -al `which sh`
3) Качаем IBM java SDK. Патчим, инсталим.
\\1.1.1.44\cs\CBS3Plus\WebShereCE-2.1\IBM_JAVA_SDK — тут берем нужный нам свежий IBM JAVA SDK (6-й версии достаточно). Потом заливаем его по FTP в свою домашнюю папку.
cd /home/имя_пользователя
chmod a+x ibm-java-i386-sdk-6.0-14.0.binsudo ./ibm-java-i386-sdk-6.0-14.0.bin
В данном примере мы рассматриваем самый скромный вариант SDK, поэтому берем версию i386. Устанавливается она в каталог: /opt/ibm/java-i386-60.
4) Даем права на папку своему пользователю
sudo chown $USER -hR /opt
5) Устанавливаем Java OpenSDK
sudo apt-get install default-jre
java -version
6) Учим систему использовать новые java-команды
sudo nano .bashrc
В файл " .bashrc" добавить следующее:
JAVA_HOME=/opt/ibm/java-i386-60
export JAVA_HOMEPATH=$PATH:$JAVA_HOMEexport PATHJRE_HOME=/opt/ibm/java-i386-60/jre/binexport JRE_HOMEPATH=$PATH:$JRE_HOMEexport PATH
Можно ребут. Проверяем командами:
echo $JAVA_HOME
echo $JRE_HOMEecho $PATHjava -version
Это значит, что все ОК:
7) Берем сам сервер тут (в архиве)
\\1.1.1.44\cs\CBS3Plus\WebShereCE-2.1\Linux
Заливаем его по FTP в папку /opt/ibm/
Распаковываем:
cd /opt/ibm
sudo tar xvjf AppServerCommunityEdition.tar.bz2 -C /opt/ibm/
8) Даем права на исполнение sh-скриптов
chmod 755 /opt/ibm/AppServerCommunityEdition/bin/*.sh
Также прописываем JAVA в настройках сервера:
sudo nano /opt/ibm/AppServerCommunityEdition/bin/setenv.sh
Вот в этой строке:
WASCE_JAVA_HOME="/opt/ibm/java-i386-60"
9) Запускаем сам сервер
cd /opt/ibm/AppServerCommunityEdition/bin
sudo ./startup.sh
Все, сервер работает. Заходим на него через ваш веб-браузер: http://ip-сервера:8080/
Если мы это видим, значит сервер у нас завелся. Поздравляю!
10) Для автозапуска при загрузке системы, необходимо сюда
sudo nano /etc/rc.local
Добавить строку (до ‘exit 0′):
sh /opt/ibm/AppServerCommunityEdition/bin/startup.sh
Инстанцирование (instances)
Запуск нескольких WASCE на одном сервере.
1) Подготовка..
В этом конфиге необходимо прописать наш IP:
nano /opt/ibm/AppServerCommunityEdition/var/config/config-substitutions.properties
SMTPHost= 192.168.0.153
EndPointURI=http\://192.168.0.153\:8080ServerHostname=192.168.0.153RemoteDeployHostname= 192.168.0.153
Все действия с файлами я делал через SFTP, так что тут будет без команд.
2) Создать в корневом каталоге App Сервера каталоги инстансов
/opt/ibm/AppServerCommunityEdition - 2 новых каталога instance1 и instance2.
Выйдет что-то типа такого:
/opt/ibm/AppServerCommunityEdition/instance1
/opt/ibm/AppServerCommunityEdition/instance2
3) Скопировать каталог var
/opt/ibm/AppServerCommunityEdition/var внутрь каталогов instance1 и instance2. Потом удалить оригинальный каталог var полностью.
4) В настройках инстанса №1
nano /opt/ibm/AppServerCommunityEdition/instance1/var/config/config-substitutions.properties
Меняем параметр*:
PortOffset=5
5) В настройках инстанса №2
nano /opt/ibm/AppServerCommunityEdition/instance2/var/config/config-substitutions.properties
Меняем параметр*:
PortOffset=10
*(этот параметр позволяет автоматически открывать другие порты, чтобы инстансы не пересекались)
6) Дальше необходимо настроить через веб-интерфейс. Сначала запускаем инстанс №1
export GERONIMO_OPTS=-Dorg.apache.geronimo.server.name=instance1
sh /opt/ibm/AppServerCommunityEdition/bin/geronimo.sh run
Заходим в веб-интерфейс на http://наш_ip:8080

Здесь, во всех трех параметрах вместо «0.0.0.0» вписываем наш IP адрес:



Потом останавливаем инстанс №1:

7) Запускаем инстанс №2
export GERONIMO_OPTS=-Dorg.apache.geronimo.server.name=instance2
sh /opt/ibm/AppServerCommunityEdition/bin/geronimo.sh run
Заходим в веб-интерфейс на http://наш_ip:8080

Также как и в случаем с инстансом №1 меняем во всех трех параметрах «0.0.0.0» на наш IP. Также, нужно везде изменить порты вручную: вместо 8080 - 8090, 8443 - 8453, 8014 - 8024.



Останавливаем инстанс №2.

Все ! Все готово, для одновременного запуска двух инстансов. Для их запуска, я делал несколько удаленных SSH подключений одновременно. Если вы работаете за сервером локально — можно использовать разные tty.
8) Итак, для запуска инстанса №1
export GERONIMO_OPTS=-Dorg.apache.geronimo.server.name=instance1
sh /opt/ibm/AppServerCommunityEdition/bin/geronimo.sh run
Он будет доступен по адресу: http://наш_ip:8080
Для запуска инстанса №2
export GERONIMO_OPTS=-Dorg.apache.geronimo.server.name=instance2
sh /opt/ibm/AppServerCommunityEdition/bin/geronimo.sh run
Он будет доступен по адресу: http://наш_ip:8090
Важно: запускать только по очереди!
Автозапуск инстансов
Итак, финальным штрихом будет автозапуск нескольких инстансов после перезагрузки ОС.
1) Скопировать скрипт
/opt/ibm/AppServerCommunityEdition/bin/geronimo.sh в папки instance1 и instance2.
2) Отредактировать конфиг
nano /opt/ibm/AppServerCommunityEdition/instance1/geronimo.sh
Добавить в него строку (первой, сразу после закомментированного), сюда:
export GERONIMO_OPTS=-Dorg.apache.geronimo.server.name=instance1
Отредактировать второй конфиг:
nano /opt/ibm/AppServerCommunityEdition/instance2/geronimo.sh
Добавить в то же место:
export GERONIMO_OPTS=-Dorg.apache.geronimo.server.name=instance2
3) Даем разрешение для запуска этих скриптов
sudo chmod 755 /opt/ibm/AppServerCommunityEdition/instance1/*.sh
sudo chmod 755 /opt/ibm/AppServerCommunityEdition/instance2/*.sh
4) Необходимо создать папку для автоматических логов
/opt/ibm/AppServerCommunityEdition/var/log
5) Теперь запускать инстансы можно следующими командами
sh /opt/ibm/AppServerCommunityEdition/instance1/geronimo.sh start
sh /opt/ibm/AppServerCommunityEdition/instance2/geronimo.sh start
6) Еще раз уровняем права
sudo chown $USER -hR /opt
7) Добавляем скрипты в автозагрузку
sudo nano /etc/rc.local
Скопировать эти строки (до ‘exit 0′) :
sh /opt/ibm/AppServerCommunityEdition/instance1/geronimo.sh start
sleep 1msh /opt/ibm/AppServerCommunityEdition/instance2/geronimo.sh start
Все! Теперь наши инстансы будут запускаться автоматически, после перезапуска ОС (с интервалом в 1 минуту). Руководствуясь этими записями, можно сделать какое угодно количество инстансов. Все упирается лишь в железо (а именно - в оперативную память).
Альтернативный способ (запуск 2-х WASCE)
Здесь мы опишем не задокументированные возможности WASCE. А именно, одновременный запуск двух WASCE, без инстанцирования. Это не правильно и не очень удобно, но может кое где пригодится. Например, при одновременном deploy приложений одной версии, но с разными билдами (и такое бывает)
1) Сделать копию папки с WASCE
/opt/ibm/AppServerCommunityEdition/
Выйдет что-то типа такого:
/opt/ibm/AppServerCommunityEdition/
/opt/ibm/AppServerCommunityEdition2/
2) Запустить сервера по очереди...
Запустить сначала 1-й сервер. Настроить его IP и порты в веб-интерфейсе, как показано выше. Остановить его. Потом запустить 2-й сервер, назначить другие порты и тот же IP. Остановить его.
Команды для поочередного запуска 1-го и 2-го серверов соответственно:
sh /opt/ibm/AppServerCommunityEdition/bin/startup.sh
sh /opt/ibm/AppServerCommunityEdition2/bin/startup.sh
Для верности, уравниваем права:
sudo chown $USER -hR /opt
chmod 755 /opt/ibm/AppServerCommunityEdition2/bin/*.sh
3) Самый важный пункт. Поменять порты во 2-м сервере вручную!
Кроме веб-интерфейса, необходимо поменять вот эти параметры (сделать +5 или +10 к текущим значениям):
sudo nano /opt/ibm/AppServerCommunityEdition2/var/config/config-substitutions.properties
Смотрите только на параметры портов:
4) Авто и ручной запуск серверов
Вот список команд...
Команды для запуска серверов:
sh /opt/ibm/AppServerCommunityEdition/bin/startup.sh
sh /opt/ibm/AppServerCommunityEdition2/bin/startup.sh
Для автозапуска, добавить в конфиг:
sudo nano /etc/rc.local
Эти строки (до ‘exit 0′):
sh /opt/ibm/AppServerCommunityEdition/bin/startup.sh
sleep 1msh /opt/ibm/AppServerCommunityEdition2/bin/startup.sh
Подсказки
1) После запуска скрипта startup.sh проверить статус процесса можно командой: ps -A
2) Если сервер не запускается и выбивает с этой ошибкой (то серверу не хватает оперативной памяти):
JVMJ9GC028E Option too large: '-Xmx4096m'
JVMJ9VM015W Initialization error for library j9gc24(2): Failed to initialize;unable to parse command line Could not create the Java virtual machine.
Нужно исправить конфиг скрипта:
/opt/ibm/AppServerCommunityEdition/bin/setenv.sh
Изменить на (или любое другое значение допускаемой под сервер оперативной памяти):
JAVA_OPTS="-Xms128m -Xmx256m -DCOLVIR_SETTINGS=/home/kilork/colvir.settings.xml"
Следите, чтобы у вас хватало реальной физической оперативной памяти для запуска дополнительных инстансов.
3) Крайне желательно все описанные выше действия делать от имени пользователя, а не root. В документации IBM сказано, что из под root приложение может не работать/работать не корректно.
Комментариев нет:
Отправить комментарий