Uso de Scripts para Gestionar el Ciclo de Vida del Servidor
Si un dominio no utiliza el gestor de nodos para iniciar y parar servidores, puede utilizar los scripts de inicio/detención del servidor por defecto de WebLogic o utilizar un script de envoltorio para llamar a WebLogic Scripting Tool (WLST).
Mejores prácticas para utilizar scripts personalizados
No utilice scripts personalizados a menos que sea necesario. Sin embargo, si tiene que utilizar scripts personalizados para gestionar el ciclo de vida de control del servidor, consulte las siguientes prácticas recomendadas.
- No lea la entrada de
stdin
ni los parámetros del script. WebLogic Management envía el nombre del servidor para los scripts del servidor gestionado, pero no se envía nada para el servidor de administración. - Maneje las condiciones de error en cada paso. Esto permite a WebLogic Management manejar los fallos de forma eficaz.
- No llame a scripts como
startWebLogic.sh
sin un criterio de salida adecuado, ya que llamar a dicho script no saldrá del emisor de llamada. La secuencia de comandosstartWebLogic.sh
inicia el servidor y no vuelve hasta que el proceso del servidor está inactivo. Esto hace que el plugin de gestión WebLogic se bloquee esperando una respuesta. WebLogic La gestión evita la espera invocando el script, pero siempre es una mejor práctica salir de un script personalizado de forma controlada. - Si el dominio utiliza el gestor de nodos, utilice WLST para realizar la operación y llame a un script WLST desde el script de shell (Linux) o el archivo por lotes (Windows).
- Si el servidor de administración tarda más de 5 minutos, ajuste las propiedades en
/usr/libexec/oracle-cloud-agent/plugins/oci-wlms/_internal/wls_actions/wlst/properties.json
para proporcionar valores óptimos para el entorno. Por ejemplo:"wls_max_retries": 10, (The number of times to poll for the admin server to check if the admin port is opened) "wls_sleep_interval": 30 (The polling interval)
Uso de scripts de inicio/detención del servidor por defecto de WebLogic
Utilice startWebLogic.sh/cmd
y stopWebLogic.sh/cmd
para el servidor de administración y startManagedWebLogic.sh/cmd
y stopManagedWebLogic.sh/cmd
para los servidores gestionados. Configure los valores de dominio en WebLogic Management para utilizar estos scripts. Consulte Configuring Patching and Server Control.
Una vez configurado, WebLogic Management llama a stopWebLogic.sh
sin parámetros y scripts stop/start ManagedWebLogic.sh
transfiriendo el nombre del servidor como parámetro.
Al utilizar estos scripts, WebLogic Management no supervisa ni sondea el estado de iniciar servidores gestionados ni de parar ningún servidor. Esto puede llevar a que la operación de ciclo de vida informe correctamente aunque los servidores no se hayan parado o iniciado correctamente.
Uso del Script Wrapper para Llamar a WLST
Utilice WLST para conectarse al servidor de administración y, a continuación, utilice la conexión del servidor de administración para gestionar servidores. La secuencia de comandos WLST es invocada por una secuencia de comandos de shell de envoltorio que se utiliza en la configuración de secuencia de comandos de inicio y detención en WebLogic Management. A continuación se muestran los scripts de envoltorio de ejemplo.
Parar servidor de administración:
# stop Admin script
import sys
wls_user = <weblogic-admin-user-name>
wls_password = <weblogic-admin-password>
admin_url = <admin_url>
try:
connect(wls_user, wls_password, admin_url)
except Exception, e:
# Handle exception here and identify if the server is running
if "Error getting the initial context. There is no server running at" in str(e):
# This error means, there is no server running. So nothing to stop
sys.exit(0)
else:
sys.exit(1)
# We are connected. now shutdown the server
try:
shutdown()
sys.exit(0)
except:
# Failed to shutdown. Exit with non-zero
sys.exit(3)
Script de shell para llamar a la operación de detención de administración:
#!/bin/bash
# $MW_HOME - The path to the MW_HOME
$MW_HOME/oracle_common/common/bin/wlst.sh <stop-admin-python script>
Para iniciar el servidor de administración, proporcione el script
startWebLogic.sh
como sondeos de gestión WebLogic para el puerto a fin de determinar si el servidor de administración se ha iniciado correctamente.Iniciar Servidor Gestionado:
# start managed server
import sys
managed_server_name = sys.argv[1]
wls_user = <weblogic-admin-user-name>
wls_password = <weblogic-admin-password>
admin_url = <admin_url>
# connect to the admin server and then start the managed server
try:
connect(wls_user, wls_password, admin_url)
except Exception, e:
# We cannot connect to admin and hence we cannot start the managed server
sys.exit(1)
# We are connected. now start the server
try:
start(managed_server_name)
sys.exit(0)
except:
# Failed to start server. Exit with non-zero
sys.exit(2)
Script para invocar la operación de inicio/parada del servidor gestionado:
#!/bin/bash
# $MW_HOME - The path to the MW_HOME
SERVER_NAME=$1
$MW_HOME/oracle_common/common/bin/wlst.sh <stop/start-managedserver-python script> $SERVER_NAME