Запуск / остановка IBM WebSphere Application Server (WAS) 7 из командной строки
Я написал скрипт для автоматизации процесса запуска, остановки и перезапуска WAS7 из командной строки. На одном из наших промежуточных серверов ничего не запускается автоматически, поэтому мне нужно запустить все: диспетчер развертывания, агент узла, сервер приложений и веб-сервер. Сценарий, который я написал, кажется, работает довольно хорошо.
Мой коллега порекомендовал мне по-другому структурировать свои команды. Мне интересно, есть ли веская и веская причина для этого.
Во-первых, мои переменные:
WAS_HOME="/opt/IBM/WebSphere/AppServer"
WAS_PROFILE_NAME="AppSrv01"
WAS_APP_SERVER="server1"
WAS_WEB_SERVER="webserver1"
Как у меня было start
команды:
"${WAS_HOME}/bin/startManager.sh"
"${WAS_HOME}/bin/startNode.sh" -profileName $WAS_PROFILE_NAME
"${WAS_HOME}/bin/startServer.sh" -profileName $WAS_PROFILE_NAME $WAS_APP_SERVER
"${WAS_HOME}/bin/startServer.sh" -profileName $WAS_PROFILE_NAME $WAS_WEB_SERVER
Мне сказали, что я должен сделать это так:
WAS_DMGR="Dmgr01" # Added variable
"${WAS_HOME}/profiles/${WAS_PROFILE_NAME}/bin/startNode.sh"
"${WAS_HOME}/profiles/${WAS_DMGR}/bin/startManager.sh"
"${WAS_HOME}/profiles/${WAS_PROFILE_NAME}/bin/startServer.sh" $WAS_APP_SERVER
"${WAS_HOME}/profiles/${WAS_PROFILE_NAME}/bin/startServer.sh" $WAS_WEB_SERVER
Как второй способ запуска всего для WebSphere лучше или правильнее, чем первый, оригинальный способ?
1 ответ
Это зависит от настройки профиля по умолчанию, поскольку вы запускаете два профиля на одном компьютере. Похоже, Dmgr01 является значением по умолчанию, поэтому первый вызов startManager работает нормально. Сценарии сервера устанавливают имя профиля, поэтому они также работают нормально.
Я думаю, что первый способ сделать это так же хорошо, как второй.
Если вы посмотрите на код стартовых *-скриптов в Profile\bin, вы обнаружите, что они в основном просто устанавливают некоторую переменную, а затем вызывают скрипты AppServer\bin.