Share via


Esercitazione: Installare manualmente Oracle WebLogic Server in Azure Macchine virtuali

Questa esercitazione illustra i passaggi per installare Oracle WebLogic Server (WLS) e configurare un cluster WebLogic in Azure Macchine virtuali (VM) in Windows o GNU/Linux.

In questa esercitazione apprenderai a:

  • Creare una rete virtuale personalizzata e creare le macchine virtuali all'interno della rete.
  • Effettuare il provisioning di macchine virtuali con JDK e WLS desiderati installati.
  • Configurare un dominio WLS e un cluster WLS usando la Configurazione guidata Oracle.
  • Distribuire ed eseguire un'applicazione Java edizione Enterprise nel cluster.
  • Esporre l'applicazione a Internet pubblico tramite app Azure lication Gateway.
  • Convalidare la configurazione corretta.

Se si preferisce una soluzione completamente automatizzata che esegue tutti questi passaggi per conto delle macchine virtuali GNU/Linux, direttamente dalla portale di Azure, vedere Avvio rapido: Distribuire WebLogic Server in una macchina virtuale di Azure usando il portale di Azure. È possibile trovare queste offerte in Azure Marketplace con una query per l'"immagine di base WebLogic".

Prerequisiti

Preparare l'ambiente

In questa sezione viene configurata l'infrastruttura in cui si installa JDK e WLS.

Presupposti

In questa esercitazione viene configurato un cluster WLS con un server di amministrazione e due server gestiti in un totale di tre macchine virtuali. Per configurare il cluster, è necessario creare le tre macchine virtuali di Azure seguenti all'interno dello stesso set di disponibilità:

  • La macchina virtuale di amministrazione (nome adminVMmacchina virtuale ) ha il server di amministrazione in esecuzione.
  • Le macchine virtuali gestite (nomi mspVM1 di vm e mspVM2) hanno due server gestiti in esecuzione.

Accedere ad Azure

Se non è già stato fatto, accedere alla sottoscrizione di Azure usando il comando az login e seguire le istruzioni visualizzate.

az login

Nota

Se più tenant di Azure sono associati alle credenziali di Azure, è necessario specificare il tenant a cui si vuole accedere. A tale scopo, usare l'opzione --tenant . Ad esempio: az login --tenant contoso.onmicrosoft.com.

Creare un gruppo di risorse

Come prima cosa creare un gruppo di risorse con az group create. I nomi dei gruppi di risorse devono essere univoci a livello globale all'interno di una sottoscrizione. Per questo motivo, prendere in considerazione la pre-attesa di un identificatore univoco per tutti i nomi creati che devono essere univoci. Una tecnica utile consiste nell'usare le iniziali seguite dalla data odierna in mmdd formato. Questo esempio crea un gruppo di risorse denominato abc1110rg nel eastus percorso:

export RESOURCE_GROUP_NAME=abc1110rg

az group create \
    --name ${RESOURCE_GROUP_NAME} \
    --location eastus

Creare una rete virtuale

Le risorse che comprendono il cluster WebLogic Server devono comunicare tra loro e la rete Internet pubblica, usando una rete virtuale. Per una guida completa alla pianificazione della rete virtuale, vedere la guida di Cloud Adoption Framework per Azure Pianificare le reti virtuali. Per altre informazioni, vedere Azure Rete virtuale domande frequenti.

L'esempio in questa sezione crea una rete virtuale con spazio 192.168.0.0/16 indirizzi e crea una subnet usata per le macchine virtuali.

Creare prima di tutto una rete virtuale usando az network vnet create. L'esempio seguente crea una rete denominata myVNet:

az network vnet create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myVNet \
    --address-prefixes 192.168.0.0/24

Creare una subnet per il cluster WLS usando az network vnet subnet create. Nell'esempio seguente viene creata una subnet denominata mySubnet:

az network vnet subnet create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name mySubnet \
    --vnet-name myVNet \
    --address-prefixes 192.168.0.0/25

Creare una subnet per gateway applicazione usando az network vnet subnet create. Nell'esempio seguente viene creata una subnet denominata wlsVMGateway:

az network vnet subnet create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name wlsVMGateway \
    --vnet-name myVNet \
    --address-prefixes 192.168.0.128/25

Creare un set di disponibilità

Creare un set di disponibilità usando az vm availability-set create, come illustrato nell'esempio seguente. Creare un set di disponibilità è un'operazione facoltativa, ma consigliata. Per altre informazioni, vedere Procedura dettagliata dell'infrastruttura di Azure di esempio per le macchine virtuali Windows.

az vm availability-set create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myAvailabilitySet \
    --platform-fault-domain-count 2 \
    --platform-update-domain-count 2

Le sezioni seguenti descrivono i passaggi per l'installazione di WLS in GNU/Linux o Windows Server. È possibile scegliere il sistema operativo, la versione JDK e la versione WLS in base ai requisiti, ma è necessario verificare che siano disponibili in Configurazioni di sistema supportate da Oracle Fusion Middleware. Considerare inoltre attentamente i requisiti specifici del sistema e della piattaforma prima di procedere. Per altre informazioni, vedere Requisiti di sistema e specifiche. Selezionare la scheda per il sistema operativo scelto.

Questo articolo userà un'immagine di macchina virtuale di Azure gestita da Oracle e Microsoft contenente la versione supportata più recente del software. Per l'elenco completo delle immagini di base WLS gestite da Oracle e Microsoft, vedere Azure Marketplace. Se si vuole usare il sistema operativo Windows, le istruzioni inizieranno con una macchina virtuale Windows di base e illustrano la procedura di installazione di tutte le dipendenze necessarie.

L'immagine del Marketplace usata per creare le macchine virtuali in questo articolo è Oracle:weblogic-141100-jdk11-ol91:owls-141100-jdk11-ol91:latest.

Nota

È possibile eseguire query su tutte le immagini Oracle WebLogic disponibili fornite da Oracle con az vm image listaz vm image list --publisher oracle --output table --all | grep "weblogic". Per altre informazioni, vedere Immagini di macchine virtuali Oracle e la relativa distribuzione in Microsoft Azure.

Creare un computer Oracle Linux per il server di amministrazione

In questa sezione vengono creati computer Oracle Linux con JDK 11 e WebLogic 14.1.1.0 installati per il server di amministrazione e i server gestiti.

Creare una macchina virtuale usando il comando az vm create. Eseguire il server di Amministrazione istration in questa macchina virtuale.

L'esempio seguente crea macchine virtuali Oracle Linux usando il nome utente e la coppia di password per l'autenticazione. Se lo si desidera, è possibile usare invece l'autenticazione SSL/TLS.

export VM_URN=Oracle:weblogic-141100-jdk11-ol91:owls-141100-jdk11-ol91:latest

az vm create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name adminVM \
    --availability-set myAvailabilitySet \
    --image ${VM_URN} \
    --size Standard_DS1_v2  \
    --admin-username azureuser \
    --admin-password Secret123456 \
    --public-ip-address "" \
    --nsg ""

Creare una macchina virtuale Windows e configurare X-server

Questa esercitazione usa l'interfaccia grafica di WebLogic Server per completare l'installazione e la configurazione. Si usa una macchina virtuale Windows come "jump box" ed è possibile eseguire un server di sistema X Windows per visualizzare i programmi di installazione grafici nelle tre macchine virtuali del cluster WLS.

Seguire questa procedura per effettuare il provisioning di un computer Windows 10 e installare un server X. Se si ha già un computer Windows nella stessa rete del computer Oracle Linux, non è necessario effettuarne il provisioning da Azure. È possibile passare alla sezione che installa il server X.

  1. Usare la procedura seguente per creare una macchina virtuale Windows 10 dalla portale di Azure:

    1. Aprire il gruppo abc1110rg di risorse dal portale di Azure.
    2. Selezionare Crea per creare la risorsa.
    3. Selezionare Calcolo, cercare Windows 10 e quindi selezionare Microsoft Windows 10.
    4. Selezionare il piano desiderato e quindi selezionare Crea.
    5. Usare i valori seguenti per configurare la macchina virtuale:
      • Nome macchina virtuale: myWindowsVM
      • Immagine: Windows 10 Pro
      • Nome utente: azureuser
      • Password: Secret123456
    6. Selezionare la casella di controllo in Licenze.
    7. Seleziona Rivedi e crea e quindi seleziona Crea.

    La creazione della macchina virtuale e delle risorse di supporto richiede alcuni minuti.

    Al termine della distribuzione, installare il server X e usarlo per configurare WebLogic Server nei computer Oracle Linux usando un'interfaccia grafica.

  2. Per installare e avviare il server X, seguire questa procedura:

    1. Usare Desktop remoto per connettersi a myWindowsVM. Per una guida dettagliata, vedere Come connettersi con Desktop remoto e accedere a una macchina virtuale di Azure che esegue Windows. È necessario eseguire i passaggi rimanenti in questa sezione in myWindowsVM.
    2. Scaricare e installare VcXsrv Windows X Server.
    3. Disabilitare il firewall. Per consentire la comunicazione dalle macchine virtuali Linux, seguire questa procedura per disattivare Windows Defender Firewall:
      1. Cercare e aprire Windows Defender Firewall.
      2. Trova Attiva o disattiva Windows Defender Firewall e quindi seleziona Disattiva nelle impostazioni di rete privata. È possibile lasciare invariate le impostazioni di rete pubblica.
      3. Seleziona OK.
      4. Chiudere il pannello delle impostazioni di Windows Defender Firewall .
    4. Selezionare X-launch dal desktop.
    5. Per le impostazioni di visualizzazione, impostare il numero di visualizzazione su -1 per usare più finestre e quindi selezionare Avanti.
    6. Per Selezionare come avviare i client, selezionare Avvia nessun client e quindi selezionare Avanti.
    7. Per impostazioni aggiuntive, selezionare Appunti e Selezione primaria, Opengl nativo e Disabilita controllo di accesso.
    8. Seleziona Avanti per terminare.

    È possibile che venga visualizzata una finestra di dialogo di avviso Sicurezza di Windows con questo messaggio: "Consenti a VcXsrv windows X-server di comunicare su queste reti". Selezionare Consenti l'accesso.

Creare computer Oracle Linux per server gestiti

Creare due macchine virtuali usando az vm create. I server gestiti vengono eseguiti in questa macchina virtuale.

L'esempio seguente crea macchine virtuali Oracle Linux usando il nome utente e la coppia di password per l'autenticazione. Se lo si desidera, è possibile usare invece l'autenticazione SSL/TLS.

export VM_URN=Oracle:weblogic-141100-jdk11-ol91:owls-141100-jdk11-ol91:latest

az vm create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name mspVM1 \
    --availability-set myAvailabilitySet \
    --image ${VM_URN} \
    --size Standard_DS1_v2  \
    --admin-username azureuser \
    --admin-password Secret123456 \
    --public-ip-address "" \
    --nsg ""

az vm create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name mspVM2 \
    --availability-set myAvailabilitySet \
    --image ${VM_URN} \
    --size Standard_DS1_v2  \
    --admin-username azureuser \
    --admin-password Secret123456 \
    --public-ip-address "" \
    --nsg ""

Usare i comandi seguenti per ottenere e visualizzare gli indirizzi IP privati, usati nelle sezioni successive:

export ADMINVM_NIC_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name adminVM \
    --query networkProfile.networkInterfaces'[0]'.id \
    --output tsv)
export ADMINVM_IP=$(az network nic show \
    --ids ${ADMINVM_NIC_ID} \
    --query ipConfigurations'[0]'.privateIPAddress \
    --output tsv)
export MSPVM1_NIC_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name mspVM1 \
    --query networkProfile.networkInterfaces'[0]'.id \
    --output tsv)
export MSPVM1_IP=$(az network nic show \
    --ids ${MSPVM1_NIC_ID} \
    --query ipConfigurations'[0]'.privateIPAddress \
    --output tsv)
export MSPVM2_NIC_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name mspVM2 \
    --query networkProfile.networkInterfaces'[0]'.id \
    --output tsv)
export MSPVM2_IP=$(az network nic show \
    --ids ${MSPVM2_NIC_ID} \
    --query ipConfigurations'[0]'.privateIPAddress \
    --output tsv)
echo "Private IP of adminVM: ${ADMINVM_IP}"
echo "Private IP of mspVM1: ${MSPVM1_IP}"
echo "Private IP of mspVM2: ${MSPVM2_IP}"

A questo punto, è possibile connettersi al computer Oracle Linux per configurare un cluster WebLogic con interfaccia grafica.

Configurare il dominio e il cluster WebLogic Server

Un dominio WebLogic Server è un gruppo logico correlato a istanze di WebLogic Server e le risorse in esecuzione e connesse a tali istanze, che possono essere gestite come una singola unità amministrativa. Per altre informazioni, vedere Domini di WebLogic Server.

La base della disponibilità elevata in WebLogic Server è il cluster. Un cluster WebLogic Server è un gruppo di istanze di WebLogic Server in esecuzione simultaneamente e collabora per offrire maggiore scalabilità e affidabilità. Per altre informazioni, vedere Oracle WebLogic Cluster.

Esistono due tipi di cluster, come descritto nell'elenco seguente. Per altre informazioni, vedere Informazioni sui cluster dinamici.

  • Cluster dinamico: un cluster che contiene una o più istanze del server generate (dinamiche) basate su un singolo modello di server condiviso. Quando si crea un cluster dinamico, i server dinamici vengono preconfigurati e generati automaticamente, consentendo di aumentare facilmente il numero di istanze del server nel cluster dinamico quando è necessaria un'altra capacità del server. È possibile avviare i server dinamici senza dover prima configurarli manualmente e aggiungerli al cluster.
  • Cluster configurato: un cluster in cui è possibile configurare e aggiungere manualmente ogni istanza del server. È necessario configurare e aggiungere una nuova istanza del server per aumentare la capacità del server.

Per illustrare come creare un cluster WebLogic, questa esercitazione illustra il processo di creazione di un cluster configurato.

Creare il dominio usando la configurazione guidata

Per creare il dominio WLS, continuare a usare la Configurazione guidata server X e Oracle.

La sezione seguente illustra come creare un nuovo dominio WLS in adminVM. Assicurarsi di essere ancora nel computer Windows, in caso contrario, connettersi in remoto a myWindowsVM.

  1. Connessione da adminVM un prompt dei comandi.

    Eseguire i comandi seguenti nel computer myWindowsVMWindows:

    set ADMINVM_IP="192.168.0.4"
    ssh azureuser@%ADMINVM_IP%
    
  2. Usare i comandi seguenti per inizializzare la cartella per la configurazione del dominio:

    sudo su
    
    export DOMAIN_PATH="/u01/domains"
    mkdir -p ${DOMAIN_PATH}
    chown oracle:oracle -R ${DOMAIN_PATH}
    
  3. Usare i comandi seguenti per installare la dipendenza per X-server:

    # install dependencies for X-server
    sudo yum install -y libXtst libSM libXrender
    # install dependencies to run a Java GUI client
    sudo yum install -y fontconfig urw-base35-fonts
    
  4. Usare i comandi seguenti per diventare l'utente oracle e impostare la DISPLAY variabile:

    sudo su - oracle
    
    export DISPLAY=<my-windows-vm-private-ip>:0.0
    #export DISPLAY=192.168.0.5:0.0
    
  5. Eseguire il comando seguente per avviare la Configurazione guidata Oracle:

    bash /u01/app/wls/install/oracle/middleware/oracle_home/oracle_common/common/bin/config.sh
    

La Configurazione guidata Oracle avvia e indirizza l'utente alla configurazione del dominio. Nella pagina seguente viene richiesto il tipo di dominio e la posizione. Selezionare Crea un nuovo dominio e impostare il percorso di dominio su /u01/domains/wlsd. La configurazione del dominio viene salvata in questa cartella.

Screenshot of Oracle Configuration Wizard - Create Domain.

Selezionare Avanti e quindi Crea dominio usando i modelli di prodotto. Mantenere il modello selezionato predefinito, come illustrato nello screenshot seguente:

Screenshot of Oracle Configuration Wizard - Templates.

Selezionare Avanti, quindi immettere Amministrazione iistration Account. Impostare Nome come weblogic e Password come Secret123456.

Screenshot of Oracle Configuration Wizard - Administration Account.

Seleziona Avanti. Per modalità di dominio selezionare Produzione. Per JDK mantenere l'opzione predefinita.

Screenshot of Oracle Configuration Wizard - Domain Mode and JDK.

Seleziona Avanti. Per le configurazioni avanzate, selezionare Amministrazione istration Server, Node Manager e Topologia.

Screenshot of Oracle Configuration Wizard - Advanced Configurations.

Selezionare Avanti e compilare il nome del server di Amministrazione istration con admin. Compilare l'indirizzo IP di ascolto con l'indirizzo IP privato di adminVM. Il valore è 192.168.0.4 in questo esempio.

Screenshot of Oracle Configuration Wizard - Administration Server.

Seleziona Avanti. Per Tipo di gestione nodi selezionare Per dominio Percorso personalizzato e compilare il percorso con /u01/domains/wlsd/nodemanager. Per Le credenziali di Node Manager, il nome utente è weblogic e la password è Secret123456.

Screenshot of Oracle Configuration Wizard - Node Manager.

Seleziona Avanti. Per i server gestiti, aggiungere gli elementi seguenti. Usare gli indirizzi IP individuati in precedenza:

Nome server Indirizzo di ascolto Porta di ascolto
msp1 Indirizzo IP privato di mspVM1. 8001
msp2 Indirizzo IP privato di mspVM2. 8001

Screenshot of Oracle Configuration Wizard - Managed Servers.

Selezionare Avanti, quindi creare un cluster con il nome cluster1.

Screenshot of Oracle Configuration Wizard - Cluster.

Seleziona Avanti. Non modificare i valori per i modelli di server e i server dinamici. Le impostazioni predefinite sono accettabili per un cluster dinamico.

Per Assegnare server ai cluster, assegnare sia msp1 a msp2 che a cluster1.

Screenshot of Oracle Configuration Wizard - Assign Servers to Clusters.

Seleziona Avanti. Aggiungere i computer adminVM, mspVM1e mspVM2. Usare gli indirizzi IP individuati in precedenza.

Nome Indirizzo di ascolto di Gestione nodi Porta di ascolto di Gestione nodi
mspVM1 Indirizzo IP privato di mspVM1. 5556
mspVM2 Indirizzo IP privato di mspVM2. 5556
adminVM Indirizzo IP privato di adminVM. 5556

Screenshot of Oracle Configuration Wizard - Machines.

Seleziona Avanti. Per Assegnare server a computer, assegnare il server admin a adminVM, msp1 a mspVM1e msp2 a mspVM2.

Screenshot of Oracle Configuration Wizard - Assign Servers to Machines.

Seleziona Avanti. Viene visualizzato il riepilogo della configurazione, simile allo screenshot seguente:

Screenshot of Oracle Configuration Wizard - Configuration Summary.

Seleziona Crea. La pagina Stato configurazione mostra lo stato di avanzamento. Tutti gli elementi elencati devono essere configurati correttamente.

Screenshot of Oracle Configuration Wizard - Configuration Progress.

Infine, è disponibile una pagina Fine configurazione per visualizzare l'URL del server di Amministrazione istration.

Screenshot of Oracle Configuration Wizard - End.

Il server di Amministrazione istration non è in esecuzione, quindi l'URL non viene risolto. Selezionare Avanti, quindi Fine. È stata completata la configurazione del wlsd dominio con un cluster cluster1 che include due server gestiti.

Applicare quindi la configurazione del dominio a mspVM1 e mspVM2.

Usare il comando pack e decomprimere per estendere il dominio.

Creare repliche usando il comando pack e decomprimere

Questa esercitazione usa il pacchetto WLS e il comando unpack per estendere il dominio. Per altre informazioni, vedere Panoramica dei comandi Pack e Decomprimi.

  1. Comprimere la configurazione del dominio su adminVM con i passaggi seguenti, presupponendo che l'utente sia ancora attivo adminVM e oracle connesso:

    cd /u01/app/wls/install/oracle/middleware/oracle_home/oracle_common/common/bin
    bash pack.sh -domain=/u01/domains/wlsd -managed=true -template=/tmp/cluster.jar -template_name="wlsd"
    

    Se il comando viene completato correttamente, viene visualizzato un output simile all'esempio seguente:

    [oracle@adminVM bin]$ bash pack.sh -domain=/u01/domains/wlsd -managed=true -template=/tmp/cluster.jar -template_name="wlsd"
    << read domain from "/u01/domains/wlsd"
    >>  succeed: read domain from "/u01/domains/wlsd"
    << set config option Managed to "true"
    >>  succeed: set config option Managed to "true"
    << write template to "/tmp/cluster.jar"
    ..............................
    >>  succeed: write template to "/tmp/cluster.jar"
    << close template
    >>  succeed: close template
    

    Usare i comandi seguenti per copiare /tmp/cluster.jar in mspVM1 e mspVM2 usando scp. Se viene richiesta l'impronta digitale della chiave, digitare yes. Immettere la password Secret123456 quando richiesto.

    scp /tmp/cluster.jar azureuser@<mspvm1-private-ip>:/tmp/cluster.jar
    scp /tmp/cluster.jar azureuser@<mspvm2-private-ip>:/tmp/cluster.jar
    #scp /tmp/cluster.jar azureuser@192.168.0.6:/tmp/cluster.jar
    #scp /tmp/cluster.jar azureuser@192.168.0.7:/tmp/cluster.jar
    
  2. Usare le istruzioni seguenti per applicare la configurazione del dominio a mspVM1:

    Aprire un nuovo prompt dei comandi e usare i comandi seguenti per connettersi a mspVM1. Sostituire 192.168.0.6 con l'indirizzo mspVM1 IP privato:

    set MSPVM1_IP="192.168.0.6"
    ssh azureuser@%MSPVM1_IP%
    

    Viene richiesta la password per la connessione. Per questo esempio, la password è Secret123456.

    A questo momento si è connessi mspVM1 con l'utente azureuser. Usare quindi i comandi seguenti per diventare l'utente radice e aggiornare la proprietà del file di /tmp/cluster.jar di proprietà di oracle:

    sudo su
    
    chown oracle:oracle /tmp/cluster.jar
    
    export DOMAIN_PATH="/u01/domains"
    mkdir -p ${DOMAIN_PATH}
    chown oracle:oracle -R ${DOMAIN_PATH}
    

    oracle Come utente, usare i comandi seguenti per applicare la configurazione del dominio:

    sudo su - oracle
    
    cd /u01/app/wls/install/oracle/middleware/oracle_home/oracle_common/common/bin
    bash unpack.sh -domain=/u01/domains/wlsd -template=/tmp/cluster.jar
    

    Se il comando viene completato correttamente, viene visualizzato un output simile all'esempio seguente:

    [oracle@mspVM1 bin]$ bash unpack.sh -domain=/u01/domains/wlsd -template=/tmp/cluster.jar
    << read template from "/tmp/cluster.jar"
    >>  succeed: read template from "/tmp/cluster.jar"
    << set config option DomainName to "wlsd"
    >>  succeed: set config option DomainName to "wlsd"
    >>  validateConfig "KeyStorePasswords"
    >>  succeed: validateConfig "KeyStorePasswords"
    << write Domain to "/u01/domains/wlsd"
    ..................................................
    >>  succeed: write Domain to "/u01/domains/wlsd"
    << close template
    >>  succeed: close template
    
  3. Usare le istruzioni seguenti per applicare la configurazione del dominio a mspVM2:

    mspVM2 Connessione in un nuovo prompt dei comandi. Sostituire 192.168.0.7 con l'indirizzo mspVM2 IP privato:

    set MSPVM2_IP="192.168.0.7"
    ssh azureuser@%MSPVM2_IP%
    

    Viene richiesta una password per la connessione. Per questo esempio, la password è Secret123456.

    A questo momento si è connessi mspVM2 con l'utente azureuser. Usare i comandi seguenti per passare all'utente radice e aggiornare la proprietà del file di /tmp/cluster.jar e inizializzare la cartella per la configurazione del dominio:

    sudo su
    
    chown oracle:oracle /tmp/cluster.jar
    
    export DOMAIN_PATH="/u01/domains"
    mkdir -p ${DOMAIN_PATH}
    chown oracle:oracle -R ${DOMAIN_PATH}
    
    sudo su - oracle
    
    cd /u01/app/wls/install/oracle/middleware/oracle_home/oracle_common/common/bin
    bash unpack.sh -domain=/u01/domains/wlsd -template=/tmp/cluster.jar
    

A questo punto è stata replicata la configurazione del dominio in mspVM1 e mspVM2e si è pronti per avviare i server.

Avviare i server

I passaggi descritti in questa sezione consentono di eseguire le due attività seguenti:

  1. Impostarlo in modo che l'amministratore e i server gestiti vengano avviati automaticamente dopo il riavvio del server.
  2. Avviare i server per l'uso immediato.

Queste due attività non sono facilmente separate, quindi i passaggi per le due attività vengono mescolati.

Avviare l'amministratore

Tornare al prompt dei comandi che si connette a adminVM. In caso di perdita, eseguire il comando seguente per connettersi a esso:

set ADMINVM_IP="192.168.0.4"
ssh azureuser@%ADMINVM_IP%

Se non si lavora con l'utente oracle , accedere con oracle:

sudo su - oracle

Il comando seguente rende persistente l'account in /u01/domains/wlsd/servers/admin/security/boot.properties per abilitare l'avvio admin automatico del admin server senza richiedere credenziali:

Sostituire il nome utente e la password con il nome utente.

mkdir -p /u01/domains/wlsd/servers/admin/security

cat <<EOF >/u01/domains/wlsd/servers/admin/security/boot.properties
username=weblogic
password=Secret123456
EOF

Usare i comandi seguenti per controllare il file. Assicurarsi che abbia la proprietà, le autorizzazioni e il contenuto corretti.

ls -la /u01/domains/wlsd/servers/admin/security/boot.properties
cat /u01/domains/wlsd/servers/admin/security/boot.properties

L'output dovrebbe essere quasi identico all'esempio seguente:

[oracle@adminVM bin]$ ls -la /u01/domains/wlsd/servers/admin/security/boot.properties
-rw-rw-r--. 1 oracle oracle 40 Nov 28 17:00 /u01/domains/wlsd/servers/admin/security/boot.properties
[oracle@adminVM bin]$ cat /u01/domains/wlsd/servers/admin/security/boot.properties
username=weblogic
password=Secret123456

Abilitare il server di amministrazione e il gestore dei nodi per l'avvio automatico dopo il riavvio della macchina virtuale

Creare un servizio Linux per il server di amministrazione di WLS e il gestore dei nodi per avviare automaticamente il processo dopo il riavvio. Per altre informazioni, vedere Usare systemd in Oracle Linux.

Uscire dall'utente oracle e accedere con l'utente root .

exit

sudo su

Creare il servizio Linux per node manager:

cat <<EOF >/etc/systemd/system/wls_nodemanager.service
[Unit]
Description=WebLogic nodemanager service
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
# Note that the following three parameters should be changed to the correct paths
# on your own system
WorkingDirectory=/u01/domains/wlsd
ExecStart="/u01/domains/wlsd/bin/startNodeManager.sh"
ExecStop="/u01/domains/wlsd/bin/stopNodeManager.sh"
User=oracle
Group=oracle
KillMode=process
LimitNOFILE=65535
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
EOF

Creare il servizio Linux per il server di amministrazione:

cat <<EOF >/etc/systemd/system/wls_admin.service
[Unit]
Description=WebLogic Adminserver service
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
WorkingDirectory=/u01/domains/wlsd
ExecStart="/u01/domains/wlsd/startWebLogic.sh"
ExecStop="/u01/domains/wlsd/bin/stopWebLogic.sh"
User=oracle
Group=oracle
KillMode=process
LimitNOFILE=65535
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target
EOF

A questo punto è possibile avviare gestione nodi e server adminVM di amministrazione usando i comandi seguenti:

sudo systemctl enable wls_nodemanager
sudo systemctl enable wls_admin
sudo systemctl daemon-reload
sudo systemctl start wls_nodemanager
sudo systemctl start wls_admin

Controllare lo stato del server di amministrazione con sudo systemctl status wls_admin -l. Il server di Amministrazione istration deve essere pronto quando si trovano log simili:

[root@adminVM wlsd]# sudo systemctl status wls_admin -l
● wls_admin.service - WebLogic Adminserver service
Loaded: loaded (/etc/systemd/system/wls_admin.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2022-09-26 07:47:34 UTC; 54s ago
Main PID: 26738 (startWebLogic.s)
    Tasks: 61 (limit: 20654)
Memory: 649.2M

... ...

Sep 26 07:48:15 adminVM startWebLogic.sh[26802]: <Sep 26, 2022, 7:48:15,411 AM Coordinated Universal Time> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING.>

Premere Q per uscire dalla modalità di monitoraggio dei log.

Non è possibile accedere al server di amministrazione prima di aprire le porte 7001 e 5556. Eseguire il comando seguente per aprire le porte:

sudo firewall-cmd --zone=public --add-port=7001/tcp
sudo firewall-cmd --zone=public --add-port=5556/tcp
sudo firewall-cmd --runtime-to-permanent
sudo systemctl restart firewalld

A questo punto, è possibile accedere al server di amministrazione nel browser di myWindowsVM con l'URL http://<adminvm-private-ip>:7001/console. Verificare che sia possibile visualizzare il server di amministrazione, ma non eseguire ancora l'accesso. Se il server di amministrazione non è in esecuzione, risolvere il problema prima di procedere. Il server di amministrazione non è accessibile all'esterno di Azure.

Avviare msp1

Tornare al prompt dei comandi che si connette a mspVM1. In caso di perdita, eseguire il comando seguente per connettersi a esso:

set MSPVM1_IP="192.168.0.6"
ssh azureuser@%MSPVM1_IP%

Se non si usa oracle l'utente, accedere con oracle:

sudo su - oracle

Rendere persistente l'account admin in /u01/domains/wlsd/servers/msp1/security/boot.properties per abilitare l'avvio msp1 automatico senza richiedere le credenziali. Sostituire il nome utente e la password con il nome utente.

mkdir -p /u01/domains/wlsd/servers/msp1/security

cat <<EOF >/u01/domains/wlsd/servers/msp1/security/boot.properties
username=weblogic
password=Secret123456
EOF

A questo punto, si crea un servizio Linux per node manager per avviare automaticamente il processo al riavvio del computer. Per altre informazioni, vedere Usare systemd in Oracle Linux.

Uscire dall'utente oracle e accedere con l'utente root .

exit

#Skip this command if you are root
sudo su

Creare il servizio Linux per node manager:

cat <<EOF >/etc/systemd/system/wls_nodemanager.service
[Unit]
Description=WebLogic nodemanager service
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
# Note that the following three parameters should be changed to the correct paths
# on your own system
WorkingDirectory=/u01/domains/wlsd
ExecStart="/u01/domains/wlsd/bin/startNodeManager.sh"
ExecStop="/u01/domains/wlsd/bin/stopNodeManager.sh"
User=oracle
Group=oracle
KillMode=process
LimitNOFILE=65535
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
EOF

Avviare quindi gestione nodi.

sudo systemctl enable wls_nodemanager
sudo systemctl daemon-reload
sudo systemctl start wls_nodemanager

Se gestione nodi è in esecuzione correttamente, vengono visualizzati log simili all'esempio seguente:

[root@mspVM1 azureuser]# systemctl status wls_nodemanager -l
● wls_nodemanager.service - WebLogic nodemanager service
Loaded: loaded (/etc/systemd/system/wls_nodemanager.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2022-09-27 01:23:42 UTC; 19s ago
Main PID: 107544 (startNodeManage)
    Tasks: 15 (limit: 20654)
Memory: 146.7M

... ...

Sep 27 01:23:45 mspVM1 startNodeManager.sh[107592]: <Sep 27, 2022 1:23:45 AM Coordinated Universal Time> <INFO> <Server Implementation Class: weblogic.nodemanager.server.NMServer$ClassicServer.>
Sep 27 01:23:46 mspVM1 startNodeManager.sh[107592]: <Sep 27, 2022 1:23:46 AM Coordinated Universal Time> <INFO> <Secure socket listener started on port 5556, host /192.168.0.6>

Premere Q per uscire dalla modalità di monitoraggio dei log.

È necessario aprire la porta 8001 per accedere all'applicazione distribuita nel cluster e 5556 per la comunicazione all'interno del dominio. Eseguire il comando seguente per aprire le porte:

sudo firewall-cmd --zone=public --add-port=8001/tcp
sudo firewall-cmd --zone=public --add-port=5556/tcp
sudo firewall-cmd --runtime-to-permanent
sudo systemctl restart firewalld

Avviare msp2

Tornare al prompt dei comandi che si connette a mspVM2. In caso di perdita, eseguire il comando seguente per connettersi a esso:

set MSPVM2_IP="192.168.0.7"
ssh azureuser@%MSPVM2_IP%

Se non si lavora con l'utente oracle , accedere con oracle:

sudo su - oracle

Rendere persistente l'account admin in /u01/domains/wlsd/servers/msp2/security/boot.properties per abilitare l'avvio msp2 automatico senza richiedere credenziali. Sostituire il nome utente e la password con il nome utente.


mkdir -p /u01/domains/wlsd/servers/msp2/security

cat <<EOF >/u01/domains/wlsd/servers/msp2/security/boot.properties
username=weblogic
password=Secret123456
EOF

Creare quindi un servizio Linux per la gestione dei nodi.

Uscire dall'utente oracle e accedere con l'utente root .

exit

#SKip this command if you are in root
sudo su

Creare il servizio Linux per node manager:

cat <<EOF >/etc/systemd/system/wls_nodemanager.service
[Unit]
Description=WebLogic nodemanager service
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
# Note that the following three parameters should be changed to the correct paths
# on your own system
WorkingDirectory=/u01/domains/wlsd
ExecStart="/u01/domains/wlsd/bin/startNodeManager.sh"
ExecStop="/u01/domains/wlsd/bin/stopNodeManager.sh"
User=oracle
Group=oracle
KillMode=process
LimitNOFILE=65535
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
EOF

Avviare gestione nodi.

sudo systemctl enable wls_nodemanager
sudo systemctl daemon-reload
sudo systemctl start wls_nodemanager

Se gestione nodi è in esecuzione correttamente, vengono visualizzati log simili all'esempio seguente:

[root@mspVM2 azureuser]# systemctl status wls_nodemanager -l
● wls_nodemanager.service - WebLogic nodemanager service
Loaded: loaded (/etc/systemd/system/wls_nodemanager.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2022-09-27 01:23:42 UTC; 19s ago
Main PID: 107544 (startNodeManage)
    Tasks: 15 (limit: 20654)
Memory: 146.7M

... ...

Sep 27 01:23:45 mspVM2 startNodeManager.sh[107592]: <Sep 27, 2022 1:23:45 AM Coordinated Universal Time> <INFO> <Server Implementation Class: weblogic.nodemanager.server.NMServer$ClassicServer.>
Sep 27 01:23:46 mspVM2 startNodeManager.sh[107592]: <Sep 27, 2022 1:23:46 AM Coordinated Universal Time> <INFO> <Secure socket listener started on port 5556, host /192.168.0.6>

Premere Q per uscire dalla modalità di monitoraggio dei log.

Aprire la porta 8001 e 5556.

sudo firewall-cmd --zone=public --add-port=8001/tcp
sudo firewall-cmd --zone=public --add-port=5556/tcp
sudo firewall-cmd --runtime-to-permanent
sudo systemctl restart firewalld

Avviare i server gestiti

Aprire ora il portale della console di Amministrazione istration da un browser nel computer myWindowsVMWindows e seguire questa procedura per avviare i server gestiti:

  1. Accedere al portale della console di Amministrazione istration con l'account amministratore e la password. L'URL è http://<adminvm-private-ip>:7001/console/. In questo esempio, l'account amministratore e la password sono weblogic/Secret123456. Lo stato dei server gestiti è Arresto.
  2. In Struttura di dominio selezionare Ambienti, Server e Controllo, selezionare msp1 e msp2quindi selezionare Avvia.
  3. Potrebbe essere richiesto di confermare l'avvio dei server. In tal caso, selezionare . Verrà visualizzato il messaggio "È stata inviata una richiesta a Gestione nodi per avviare i server selezionati".
  4. È possibile selezionare l'icona "aggiorna" nella parte superiore della tabella per avviare o arrestare l'aggiornamento dinamico dei dati in tale tabella. Questa icona viene visualizzata nello screenshot successivo.
  5. I server saranno presto disponibili.

Screenshot of Oracle Configuration Wizard - Start Servers.

Pulire il computer Windows

La configurazione del cluster WLS è stata completata. Se necessario, rimuovere il computer Windows con i comandi seguenti. In alternativa, è possibile arrestare il computer myWindowsVM Windows e continuare a usarlo come jump box per le attività di manutenzione del cluster in corso.

export WINDOWSVM_NIC_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myWindowsVM \
    --query networkProfile.networkInterfaces[0].id \
    --output tsv)
export WINDOWSVM_NSG_ID=$(az network nic show \
    --ids ${WINDOWSVM_NIC_ID} \
    --query networkSecurityGroup.id \
    --output tsv)
export WINDOWSVM_DISK_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myWindowsVM \
    --query storageProfile.osDisk.managedDisk.id \
    --output tsv)
export WINDOWSVM_PUBLIC_IP=$(az network public-ip list \
    -g ${RESOURCE_GROUP_NAME} --query [0].id \
    --output tsv)

echo "deleting myWindowsVM"
az vm delete --resource-group ${RESOURCE_GROUP_NAME} --name myWindowsVM --yes
echo "deleting nic ${WINDOWSVM_NIC_ID}"
az network nic delete --ids ${WINDOWSVM_NIC_ID}
echo "deleting public-ip ${WINDOWSVM_PUBLIC_IP}"
az network public-ip delete --ids ${WINDOWSVM_PUBLIC_IP}
echo "deleting disk ${WINDOWSVM_DISK_ID}"
az disk delete --yes --ids ${WINDOWSVM_DISK_ID}
echo "deleting nsg ${WINDOWSVM_NSG_ID}"
az network nsg delete --ids ${WINDOWSVM_NSG_ID}

Esporre WLS con gateway di app Azure lication

Dopo aver creato il cluster WebLogic Server (WLS) in macchine virtuali Windows o GNU/Linux, questa sezione illustra il processo di esposizione di WLS a Internet con app Azure lication Gateway.

Creare il gateway di app Azure lication

Per esporre WLS a Internet, è necessario un indirizzo IP pubblico. Creare l'indirizzo IP pubblico e quindi associarlo a un gateway di app Azure lication. Usare az network public-ip create per crearlo, come illustrato nell'esempio seguente:

az network public-ip create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myAGPublicIPAddress \
    --allocation-method Static \
    --sku Standard

Si aggiungono i server back-end a gateway applicazione pool back-end. Eseguire query su indirizzi IP back-end usando i comandi seguenti:

export ADMINVM_NIC_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name adminVM \
    --query networkProfile.networkInterfaces[0].id \
    --output tsv)
export ADMINVM_IP=$(az network nic show \
    --ids ${ADMINVM_NIC_ID} \
    --query ipConfigurations[0].privateIPAddress \
    --output tsv)
export MSPVM1_NIC_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name mspVM1 \
    --query networkProfile.networkInterfaces[0].id \
    --output tsv)
export MSPVM1_IP=$(az network nic show \
    --ids ${MSPVM1_NIC_ID} \
    --query ipConfigurations[0].privateIPAddress \
    --output tsv)
export MSPVM2_NIC_ID=$(az vm show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name mspVM2 \
    --query networkProfile.networkInterfaces[0].id \
    --output tsv)
export MSPVM2_IP=$(az network nic show \
    --ids ${MSPVM2_NIC_ID} \
    --query ipConfigurations[0].privateIPAddress \
    --output tsv)

Creare quindi un gateway di app Azure lication. L'esempio seguente crea un gateway applicazione con server gestiti nel pool back-end predefinito:

az network application-gateway create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myAppGateway \
    --public-ip-address myAGPublicIPAddress \
    --location eastus \
    --capacity 2 \
    --http-settings-port 80 \
    --http-settings-protocol Http \
    --frontend-port 80 \
    --sku Standard_V2 \
    --subnet wlsVMGateway \
    --vnet-name myVNet \
    --priority 1001 \
    --servers ${MSPVM1_IP} ${MSPVM2_IP}

I server gestiti espongono i carichi di lavoro con la porta 8001. Usare i comandi seguenti per aggiornare specificando la appGatewayBackendHttpSettings porta back-end e creando un probe per tale porta 8001 :

az network application-gateway probe create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --gateway-name myAppGateway \
    --name clusterProbe \
    --protocol http \
    --host 127.0.0.1 \
    --path /weblogic/ready

az network application-gateway http-settings update \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --gateway-name myAppGateway \
    --name appGatewayBackendHttpSettings \
    --port 8001 \
    --probe clusterProbe

I comandi successivi effettuano il provisioning di una regola rule1di base. In questo esempio viene aggiunto un percorso al server di Amministrazione istration. Usare prima di tutto i comandi seguenti per creare una mappa percorso URL:

az network application-gateway address-pool create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --gateway-name myAppGateway \
    --name adminServerAddressPool \
    --servers ${ADMINVM_IP}

az network application-gateway probe create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --gateway-name myAppGateway \
    --name adminProbe \
    --protocol http \
    --host 127.0.0.1 \
    --path /weblogic/ready

az network application-gateway http-settings create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --gateway-name myAppGateway \
    --name adminBackendSettings \
    --port 7001 \
    --protocol Http \
    --probe adminProbe

az network application-gateway url-path-map create \
    --gateway-name myAppGateway \
    --name urlpathmap \
    --paths /console/* \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --address-pool adminServerAddressPool \
    --default-address-pool appGatewayBackendPool \
    --default-http-settings appGatewayBackendHttpSettings \
    --http-settings adminBackendSettings \
    --rule-name consolePathRule

Usare quindi az network application-gateway rule update per aggiornare il tipo di regola come PathBasedRouting.

az network application-gateway rule update \
    --gateway-name myAppGateway \
    --name rule1 \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --http-listener appGatewayHttpListener \
    --rule-type PathBasedRouting \
    --url-path-map urlpathmap \
    --priority 1001 \
    --address-pool appGatewayBackendPool \
    --http-settings appGatewayBackendHttpSettings

È ora possibile accedere al server di Amministrazione istration con l'URL http://<gateway-public-ip-address>/console/. Eseguire i comandi seguenti per ottenere l'URL:

export APPGATEWAY_IP=$(az network public-ip show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myAGPublicIPAddress \
    --query [ipAddress] \
    --output tsv)
echo "admin console URL is http://${APPGATEWAY_IP}/console/"

Verificare di poter accedere alla console del server di Amministrazione istration. In caso contrario, risolvere e risolvere il problema prima di procedere.

Nota

In questo esempio viene configurato l'accesso semplice ai server WebLogic con HTTP. Se si vuole un accesso sicuro, configurare la terminazione SSL/TLS seguendo le istruzioni riportate in TLS end-to-end con gateway applicazione.

In questo esempio viene esposta la console del server di Amministrazione istration tramite il gateway applicazione. Non eseguire questa operazione in un ambiente di produzione.

Distribuire un'applicazione di esempio

Questa sezione illustra come distribuire una semplice applicazione nel cluster WLS. Prima di tutto, scaricare testwebapp.war da Oracle e salvare il file nel file system locale. Usare quindi la procedura seguente per distribuire l'applicazione:

  1. Aprire un Web browser.
  2. Passare al portale della console di Amministrazione istration con l'URL http://<gateway-public-ip-address>/console/, quindi accedere con l'account amministratore e la password. In questo esempio sono weblogic/Secret123456.
  3. Nel Centro modifiche, se esiste un pulsante di questo tipo, selezionare Blocca e modifica. Se questo pulsante non esiste, verificare che nel Centro modifiche esista un testo come "Le modifiche future verranno attivate automaticamente durante la modifica, l'aggiunta o l'eliminazione di elementi nel dominio".
  4. In Struttura di dominio selezionare Distribuzioni. Se viene visualizzato un messaggio di errore simile a Unexpected error encountered while obtaining monitoring information for applications., è possibile ignorarlo in modo sicuro. Selezionare Configurazione e quindi Installa. Immerso all'interno del testo è un collegamento ipertestuale con il testo Carica i tuoi file. Selezionarlo. Selezionare Scegli file e quindi selezionare il file testwebapp.war compilato nel passaggio precedente. Selezionare Avanti e quindi Avanti.
  5. Assicurarsi che l'opzione Installa questa distribuzione come applicazione sia selezionata. Seleziona Avanti.
  6. In Destinazioni disponibili per cargo-tracker selezionare destinazione cluster1di distribuzione, selezionare Avanti, quindi selezionare Fine.
  7. Nel Centro modifiche, se esiste un pulsante di questo tipo, selezionare Attiva modifiche. È necessario completare questo passaggio. Se non si completa questo passaggio, le modifiche apportate non diventano effettive. Se questo pulsante non esiste, verificare che il testo esista in Future changes will automatically be activated as you modify, add or delete items in this domainCentro modifiche.
  8. In Struttura di dominio selezionare Distribuzioni e quindi Controllo. Selezionare cargo-tracker e quindi Avvia, Manutenzione di tutte le richieste.
  9. Selezionare .
  10. Viene visualizzato un messaggio che indica che Start requests have been sent to the selected deployments. lo stato dell'applicazione deve essere Attivo.

Testare la configurazione del cluster WLS

A questo punto è stata completata la configurazione del cluster WLS e la distribuzione dell'applicazione Java edizione Enterprise. Usare la procedura seguente per accedere all'applicazione per convalidare tutte le impostazioni:

  1. Aprire un Web browser.
  2. Passare all'applicazione con l'URL http://<gateway-public-ip-address>/testwebapp/.

Pulire le risorse

Eliminare abc1110rg con il comando seguente:

az group delete --name ${RESOURCE_GROUP_NAME} --yes --no-wait

Passaggi successivi

Continuare a esplorare le opzioni per l'esecuzione di WLS in Azure.