WebLogic Server — Cheatsheet

If you like this project, consider supporting me on Buy Me a Coffee ☕️


tags:

Description

Oracle WebLogic Server is a commercial Java EE / Jakarta EE application server developed by Oracle. It provides a robust, scalable platform for deploying enterprise Java applications, including support for EJB, JMS, JTA, and web services. WebLogic is commonly used in large enterprise environments, especially those relying on Oracle's technology stack.

Common use cases / Типичные сценарии:

[!NOTE] WebLogic is a legacy commercial product requiring an Oracle license. Modern open-source alternatives include WildFly (JBoss successor, Jakarta EE), Payara (GlassFish fork), and Open Liberty (IBM). For microservices, consider Spring Boot, Quarkus, or Micronaut with embedded servers. WebLogic — коммерческий продукт Oracle. Современные альтернативы: WildFly, Payara, Open Liberty. Для микросервисов: Spring Boot, Quarkus, Micronaut.


Installation & Configuration

Default Paths

Path / Путь Purpose / Назначение
/u01/oracle/ Oracle home directory / Домашняя директория Oracle
$ORACLE_HOME/wlserver/ WebLogic Server installation / Установка WebLogic
$DOMAIN_HOME/ Domain directory / Директория домена
$DOMAIN_HOME/config/config.xml Domain configuration / Конфигурация домена
$DOMAIN_HOME/bin/ Start/stop scripts / Скрипты запуска/остановки
$DOMAIN_HOME/servers/ Server instances / Экземпляры серверов
$DOMAIN_HOME/servers/*/logs/ Server logs / Логи серверов

Default Ports

Port / Порт Purpose / Назначение
7001 Admin Server HTTP / HTTP для Admin Server
7002 Admin Server HTTPS / HTTPS для Admin Server
5556 Node Manager / Менеджер узлов
7003-7XXX Managed Servers (configurable) / Управляемые серверы

Environment Variables

export ORACLE_HOME=/u01/oracle                          # Oracle installation / Установка Oracle
export WL_HOME=$ORACLE_HOME/wlserver                    # WebLogic home / Домашняя WL
export DOMAIN_HOME=/u01/oracle/user_projects/domains/<DOMAIN_NAME>  # Domain home / Домен
export JAVA_HOME=/u01/oracle/java/jdk                   # Java home / Путь к Java

Set Domain Environment

Run this before any commands. / Запустите это перед любыми командами.

source /u01/oracle/user_projects/domains/<DOMAIN_NAME>/bin/setDomainEnv.sh

Server Lifecycle

Node Manager

Before starting servers, ensure Node Manager is running. / Убедитесь, что Node Manager запущен.

# Start Node Manager
nohup $WL_HOME/server/bin/startNodeManager.sh > nm.log 2>&1 &

Start/Stop Scripts

# Start Admin Server
$DOMAIN_HOME/bin/startWebLogic.sh

# Stop Admin Server
$DOMAIN_HOME/bin/stopWebLogic.sh

# Start Managed Server
$DOMAIN_HOME/bin/startManagedWebLogic.sh <SERVER_NAME> <ADMIN_URL>

# Stop Managed Server
$DOMAIN_HOME/bin/stopManagedWebLogic.sh <SERVER_NAME> <ADMIN_URL>

[!WARNING] Always stop Managed Servers before the Admin Server. Stopping the Admin Server first may leave Managed Servers in an inconsistent state. Всегда останавливайте Managed Server'ы перед Admin Server'ом.

Check Running Status

ps aux | grep weblogic                                   # Check process / Проверить процесс
curl http://localhost:7001/console                       # Test Admin Console / Тест консоли
netstat -tlnp | grep :7001                               # Check port / Проверить порт

WLST (WebLogic Scripting Tool)

Interactive Mode

java weblogic.WLST

Common Commands

# Connect
connect('<USER>', '<PASSWORD>', 't3://<ADM_HOST>:<PORT>')

# Server Status
state('<SERVER_NAME>')

# Start/Stop Server
start('<SERVER_NAME>')
shutdown('<SERVER_NAME>')

# Deploy App
deploy('<APP_NAME>', '/path/to/app.war', targets='<CLUSTER_NAME>')

# Undeploy App
undeploy('<APP_NAME>')

# List servers
cd('Servers')
ls()

# List deployments
cd('AppDeployments')
ls()

# Read server state
domainRuntime()
cd('ServerLifeCycleRuntimes')
ls()

Scripted WLST (Non-interactive)

# Run a WLST script
java weblogic.WLST /path/to/script.py

# One-liner status check
java weblogic.WLST -e "connect('<USER>','<PASSWORD>','t3://<HOST>:<PORT>'); state('<SERVER_NAME>')"

Security

Users & Roles

# Access Admin Console
# URL: http://<HOST>:7001/console
# Default security realm: myrealm
# Navigate: Security Realms → myrealm → Users and Groups

# Create boot.properties for auto-login
mkdir -p $DOMAIN_HOME/servers/<SERVER_NAME>/security
cat > $DOMAIN_HOME/servers/<SERVER_NAME>/security/boot.properties << EOF
username=<USER>
password=<PASSWORD>
EOF
chmod 600 $DOMAIN_HOME/servers/<SERVER_NAME>/security/boot.properties

[!CAUTION] boot.properties stores credentials in plain text initially. WebLogic encrypts them on first boot. Ensure proper file permissions. boot.properties хранит учётные данные в открытом виде до первого запуска. Убедитесь в правильных правах доступа.

SSL/TLS Configuration

# Create keystore
keytool -genkey -alias wls -keyalg RSA -keysize 2048 \
  -keystore $DOMAIN_HOME/identity.jks -storepass <PASSWORD>

# Import certificate
keytool -import -alias wls -file certificate.crt \
  -keystore $DOMAIN_HOME/identity.jks -storepass <PASSWORD>

# List certificates
keytool -list -keystore $DOMAIN_HOME/identity.jks -storepass <PASSWORD>

Maintenance & Monitoring

Log Files

Log / Лог Path / Путь
Admin Server log / Лог Admin Server $DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log
Managed Server log / Лог Managed Server $DOMAIN_HOME/servers/<SERVER_NAME>/logs/<SERVER_NAME>.log
Access log / Лог доступа $DOMAIN_HOME/servers/<SERVER_NAME>/logs/access.log
Domain log / Лог домена $DOMAIN_HOME/servers/AdminServer/logs/<DOMAIN_NAME>.log
GC log / Лог GC $DOMAIN_HOME/servers/<SERVER_NAME>/logs/gc.log
# View live logs
tail -f $DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log

# Filter for errors
grep -i "ERROR\|BEA-" $DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log

JVM Tuning

Set in setDomainEnv.sh or USER_MEM_ARGS.

export USER_MEM_ARGS="-Xms2g -Xmx2g"                    # Heap size / Размер кучи
export USER_MEM_ARGS="$USER_MEM_ARGS -XX:+UseG1GC"      # G1 garbage collector / Сборщик мусора
export USER_MEM_ARGS="$USER_MEM_ARGS -XX:MaxGCPauseMillis=200"
export USER_MEM_ARGS="$USER_MEM_ARGS -XX:+HeapDumpOnOutOfMemoryError"
export USER_MEM_ARGS="$USER_MEM_ARGS -XX:HeapDumpPath=$DOMAIN_HOME/servers/<SERVER_NAME>/logs/"

Troubleshooting & Tools

Common Issues

# Port already in use
sudo netstat -tlnp | grep :7001                          # Check port / Проверить порт
sudo lsof -i :7001                                       # Alternative / Альтернатива

# Server stuck in STARTING state
# Check for lock files
ls -la $DOMAIN_HOME/servers/<SERVER_NAME>/tmp/
# Remove lock files if needed

# OutOfMemoryError
# Increase heap in USER_MEM_ARGS
# Check for memory leaks in deployed applications

Thread Dump

# Get PID
ps aux | grep weblogic

# Generate thread dump
kill -3 <PID>                                            # Output to server log
jstack <PID> > thread_dump.txt                          # Save to file / Сохранить в файл

Heap Dump

# Generate heap dump
jmap -dump:format=b,file=/tmp/heap_dump.bin <PID>

# Analyze with Eclipse MAT or VisualVM
#

Debug Logging

# Via WLST — Enable debug logging
connect('<USER>', '<PASSWORD>', 't3://<HOST>:<PORT>')
edit()
startEdit()
cd('Servers/<SERVER_NAME>/Log/<SERVER_NAME>')
set('Severity', 'Debug')
save()
activate()

Logrotate Configuration

/etc/logrotate.d/weblogic

/u01/oracle/user_projects/domains/<DOMAIN>/servers/*/logs/*.log {
    daily
    rotate 14
    compress
    delaycompress
    missingok
    notifempty
    copytruncate
}

[!WARNING] Use copytruncate for WebLogic logs as the JVM keeps file handles open. Используйте copytruncate для логов WebLogic, так как JVM держит файлы открытыми.



On this page

linux 🌐 WebLogic Server — Cheatsheet Description Installation &amp; Configuration Default Paths Default Ports Environment Variables Set Domain Environment Server Lifecycle Node Manager Start/Stop Scripts Check Running Status WLST (WebLogic Scripting Tool) Interactive Mode Common Commands Scripted WLST (Non-interactive) Security Users &amp; Roles SSL/TLS Configuration Maintenance &amp; Monitoring Log Files JVM Tuning Troubleshooting &amp; Tools Common Issues Thread Dump Heap Dump Debug Logging Logrotate Configuration Documentation Links