Гид по технологиям

Установка и настройка Oracle WebLogic на CentOS 7

• 8 min read • Инфраструктура • Обновлено 21 Nov 2025
Oracle WebLogic на CentOS 7: установка и настройка
Oracle WebLogic на CentOS 7: установка и настройка

Миниатюра: сервер с Oracle WebLogic на CentOS 7

В этом руководстве описан процесс установки и базовой настройки Oracle WebLogic на операционной системе CentOS 7 (64‑бит). Oracle WebLogic — корпоративный Java EE‑middleware, часто используемый для развёртывания масштабируемых приложений. В статье показаны шаги для развёртывания Admin Server и двух Managed Servers, объединённых в кластер.

Кому пригодится это руководство: системным администраторам, инженерам DevOps и разработчикам, которые разворачивают WebLogic в тестовой или начальной production‑среде.

В статье используются реальные команды и вывод консоли; код и журналы сохранены в исходном виде.

Основные понятия (в одну строку)

  • Admin Server — центральный сервер администрирования домена WebLogic.
  • Managed Server — рабочая нода, выполняющая приложения.
  • Domain — логическое пространство конфигурации WebLogic (набор серверов, ресурсов, политики безопасности).
  • Template (шаблон) — архив с конфигурацией домена, который можно распаковать на Managed Server.

Что будет в конце

  • Рабочая среда с Admin Server (порт 7001) и двумя Managed Servers в кластере.
  • Шаблон домена, который можно копировать на другие ноды для быстрого развёртывания.

Important: большинство шагов выполняются от имени непользователя root — создавайте отдельного пользователя (например, weblogic owner) и держите владельца installation файлов вне root.

Ссылки по теме

  • Руководство Oracle WebLogic и официальные патчи — на сайте Oracle. (В этом руководстве используются оффлайн‑инсталляторы и JDK RPM.)

1. Предварительные заметки

В примере используется CentOS 7.4 x86_64. Большинство шагов аналогичны в Red Hat и Oracle Linux. В production чаще применяют Oracle Linux, но процедуры установки WebLogic идентичны.

Мы настроим один Admin Server и два Managed Servers. Администрирование кластера выполняется через консоль Admin Server.

Важно: установка JDK и WebLogic должна выполняться от непользователя (non‑root). Создайте отдельного пользователя-«владельца» для WebLogic.


2. Фаза установки

Шаг 1 — установка JDK на каждый хост (Admin и Managed). В примере загружается JDK 8u131 и устанавливается RPM.

 [root@weblogic_mgr opt]# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"   
--2018-06-09 12:57:05-- http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm   
Resolving download.oracle.com (download.oracle.com)... 23.49.16.62   
Connecting to download.oracle.com (download.oracle.com)|23.49.16.62|:80... connected.   
HTTP request sent, awaiting response... 302 Moved Temporarily   
Location: https://edelivery.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm [following]   
--2018-06-09 12:57:10-- https://edelivery.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm   
Resolving edelivery.oracle.com (edelivery.oracle.com)... 104.103.48.174, 2600:1417:58:181::2d3e, 2600:1417:58:188::2d3e   
Connecting to edelivery.oracle.com (edelivery.oracle.com)|104.103.48.174|:443... connected.   
HTTP request sent, awaiting response... 302 Moved Temporarily   
Location: http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm?AuthParam=1528549151_b1fd01d854bc0423600a83c36240028e [following]   
--2018-06-09 12:57:11-- http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm?AuthParam=1528549151_b1fd01d854bc0423600a83c36240028e   
Connecting to download.oracle.com (download.oracle.com)|23.49.16.62|:80... connected.   
HTTP request sent, awaiting response... 200 OK   
Length: 169983496 (162M) [application/x-redhat-package-manager]   
Saving to: ‘jdk-8u131-linux-x64.rpm’   
   
100%[==============================================================================>] 169,983,496 2.56MB/s in 64s   
   
2018-06-09 12:58:15 (2.54 MB/s) - ‘jdk-8u131-linux-x64.rpm’ saved [169983496/169983496]   
   
[root@weblogic_mgr opt]# yum localinstall -y jdk-8u131-linux-x64.rpm   
 

После установки задайте JAVA_HOME и обновите PATH в профиле пользователя (root и пользователь‑владелец WebLogic должны иметь корректные переменные):

 [root@weblogic_mgr opt]# vi /root/.bash_profile   
export JAVA_HOME=/usr/java/jdk1.8.0_131   
PATH=$JAVA_HOME/bin:$PATH:$HOME/bin   
export PATH   
 

Загрузите профиль и проверьте версию Java:

 [root@weblogic_mgr opt]# source /root/.bash_profile   
[root@weblogic_mgr opt]# java -version   
java version "1.8.0_131"   
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)   
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)   
 

Шаг 2 — создайте непользователя (в примере — shahril) и настройте домашние каталоги и переменные окружения для WebLogic‑владельца.

 [root@weblogic_mgr opt]# useradd -s /bin/bash shahril   

Установите пароль и переключитесь на пользователя:

 [root@weblogic_mgr opt]# passwd shahril   
[...]
[root@weblogic_mgr opt]# su - shahril   
[shahril@weblogic_mgr ~]$ pwd   
/home/shahril   

Настройте переменные окружения пользователя WebLogic (пример best practice):

  1. ORACLE_BASE — базовый каталог установки Oracle.
  2. ORACLE_HOME — каталог программ Oracle/необязательно для клиента Oracle.
  3. MW_HOME — базовый каталог middleware.
  4. WLS_HOME — каталог WebLogic Server.
  5. WL_HOME — каталог Admin/Managed server.
  6. DOMAIN_BASE — базовая директория доменов.
  7. DOMAIN_HOME — конкретный домен (например, TEST).
 [shahril@weblogic_mgr wls]$ vi /home/shahril/.bash_profile   
   
export ORACLE_BASE=/home/shahril/wls/oracle   
export ORACLE_HOME=$ORACLE_BASE/product/fmw12   
export MW_HOME=$ORACLE_HOME   
export WLS_HOME=$MW_HOME/wlserver   
export WL_HOME=$WLS_HOME   
export DOMAIN_BASE=$ORACLE_BASE/config/domains   
export DOMAIN_HOME=$DOMAIN_BASE/TEST   
   
export JAVA_HOME=/usr/java/jdk1.8.0_131   
PATH=$JAVA_HOME/bin:$PATH:$HOME/bin   
export PATH   
   
[shahril@weblogic_mgr wls]$ source /home/shahril/.bash_profile   
[shahril@weblogic_mgr wls]$ mkdir -p $ORACLE_BASE   
[shahril@weblogic_mgr wls]$ mkdir -p $DOMAIN_BASE   
[shahril@weblogic_mgr wls]$ mkdir -p $ORACLE_HOME   
[shahril@weblogic_mgr wls]$ mkdir -p $ORACLE_BASE/config/applications   
[shahril@weblogic_mgr wls]$ mkdir -p /home/shahril/wls/oraInventory   

Шаг 3 — создайте oraInst.loc и wls.rsp (файлы инвентаря и response‑файл). oraInst.loc указывает местоположение oraInventory, а wls.rsp используется для безголовой установки WebLogic.

 [shahril@weblogic_mgr wls]$ pwd   
/home/shahril/wls   
[shahril@weblogic_mgr wls]$ vi oraInst.loc   
   
inventory_loc=/home/shahril/wls/oraInventory   
inst_group=shahril   
   
[shahril@weblogic_mgr wls]$ vi wls.rsp   
   
[ENGINE]   
Response File Version=1.0.0.0.0   
[GENERIC]   
ORACLE_HOME=/home/shahril/wls/oracle/product/fmw12   
INSTALL_TYPE=WebLogic Server   
DECLINE_SECURITY_UPDATES=true   
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false   
   

Шаг 4 — скачайте инсталлятор WebLogic (в примере fmw_12.1.3.0.0_wls.jar) и выполните команду mv для корректного имени файла, затем запустите установку в silent‑режиме.

 [shahril@weblogic_mgr ~]$ cd $ORACLE_BASE   
[shahril@weblogic_mgr oracle]$ wget http://download.oracle.com/otn/nt/middleware/12c/wls/1213/fmw_12.1.3.0.0_wls.jar?AuthParam=1530174357_1de6ededa212d8bc86524a0fb78ac0df   
[...сохранение файла...]   
[shahril@weblogic_mgr oracle]$ mv fmw_12.1.3.0.0_wls.jar?AuthParam=1530174357_1de6ededa212d8bc86524a0fb78ac0df fmw_12.1.3.0.0_wls.jar   

Запуск инсталляции:

 [shahril@weblogic_mgr wls]$ java -jar /home/shahril/wls/oracle/fmw_12.1.3.0.0_wls.jar -silent -responseFile /home/shahril/wls/wls.rsp -invPtrLoc /home/shahril/wls/oraInst.loc   
Launcher log file is /tmp/OraInstall2018-06-10_12-44-24PM/launcher2018-06-10_12-44-24PM.log.   
Extracting files.......   
Starting Oracle Universal Installer   
[...лог установки...]   
The installation of Oracle Fusion Middleware 12c WebLogic Server and Coherence 12.1.3.0.0 completed successfully.   
Logs successfully copied to /home/shahril/wls/oraInventory/logs.   

После успешной установки можно переходить к конфигурации домена и серверов.


3. Фаза конфигурации

Основные уровни конфигурации:

  • Конфигурация WebLogic (серверные параметры, SSL, порты)
  • Конфигурация домена (создание домена, пользователи, политики безопасности)

В примере создаётся домен TEST и AdminServer с портами 7001 (HTTP) и 7002 (SSL).

Схема: расположение WebLogic в архитектуре

Пример создания домена через WLST (WebLogic Scripting Tool):

 [shahril@weblogic_mgr wls]$ cd $WL_HOME   
[shahril@weblogic_mgr wlserver]$ cd common/bin/   
[shahril@weblogic_mgr bin]$ ./commEnv.sh   
[shahril@weblogic_mgr bin]$ ./wlst.sh   
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0   
Initializing WebLogic Scripting Tool (WLST) ...   
[...интерактивный WLST...]   
wls:/offline> readTemplate('/home/shahril/wls/oracle/product/fmw12/wlserver/common/templates/wls/wls.jar')   
wls:/offline/base_domain>cd('Servers/AdminServer')   
wls:/offline/base_domain/Server/AdminServer>set('ListenAddress','172.17.0.6')   
wls:/offline/base_domain/Server/AdminServer>set('ListenPort',7001) ## Port that will be assign to each domain   
[...настройка SSL, пароль weblogic...]   
wls:/offline/base_domain/Security/base_domain/User/weblogic>cmo.setPassword('Test1234')   
wls:/offline/base_domain/Security/base_domain/User/weblogic>setOption('OverwriteDomain','true')   
wls:/offline/base_domain/Security/base_domain/User/weblogic>writeDomain('/home/shahril/wls/oracle/config/domains/TEST')   
wls:/offline/TEST/Security/TEST/User/weblogic>closeTemplate()   
wls:/offline>exit()   
Exiting WebLogic Scripting Tool.   

Запуск Admin Server:

 [shahril@weblogic_mgr bin]$ cd $DOMAIN_HOME   
[shahril@weblogic_mgr TEST]$ cd bin/   
[shahril@weblogic_mgr bin]$ ./startWebLogic.sh &   
[1] 19303   
[shahril@weblogic_mgr bin]$ .   
.   
JAVA Memory arguments: -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=128m -XX:MaxPermSize=256m   
[...журнал старта...]   
Jun 10, 2018 1:11:51 PM UTC Notice WebLogicServer BEA-000331 Started the WebLogic Server Administration Server "AdminServer" for domain "TEST" running in development mode.   
Jun 10, 2018 1:11:52 PM UTC Notice WebLogicServer BEA-000365 Server state changed to RUNNING.   

Проверка слушающих портов (пример):

[shahril@weblogic_mgr bin]$ netstat -apn|grep -i :70   
tcp 0 0 172.17.0.6:7001 0.0.0.0:* LISTEN 19360/java   
tcp 0 0 172.17.0.6:7002 0.0.0.0:* LISTEN 19360/java   

Упаковка домена в шаблон для Managed Servers (pack/unpack) — позволяет создать шаблон TEST_template.jar, который копируется на Managed Server и распаковывается там.

 [shahril@weblogic_mgr bin]$ $WL_HOME/common/bin/pack.sh -domain=$DOMAIN_HOME -template=$WL_HOME/common/templates/domains/TEST_template.jar -template_name=TEST -managed=true   
[...результат: TEST_template.jar создан...]   
[shahril@weblogic_mgr ~]$ scp -r /home/shahril/wls/oracle/product/fmw12/wlserver/common/templates/domains/TEST_template.jar 172.17.0.7:/home/shahril/wls/   

На Managed Server распакуйте шаблон:

 [shahril@weblogic_node1 ~]$ cd $WL_HOME   
[shahril@weblogic_node1 wlserver]$ $WL_HOME/common/bin/unpack.sh -template=/home/shahril/wls/TEST_template.jar -domain=$DOMAIN_HOME   

Запуск Managed Server (пример для Node_Server01):

 [shahril@weblogic_node1 wlserver]$ cd $DOMAIN_HOME   
[shahril@weblogic_node1 TEST]$ cd bin/   
[shahril@weblogic_node1 bin]$ ./startManagedWebLogic.sh Node_Server01 t3://172.17.0.6:7001 &   
[...журнал старта Managed Server...]   
Jun 10, 2018 3:29:48 PM UTC Notice WebLogicServer BEA-000332 Started the WebLogic Server Managed Server "Node_Server01" for domain "TEST" running in development mode.   

4. Фаза тестирования

Откройте консоль Admin Server: http://172.17.0.6:7001/console и авторизуйтесь (в примере weblogic/Test1234). Через Environment → Servers добавьте Managed Servers и создайте кластер.

Экран входа в Oracle WebLogic

Панель WebLogic

Вкладка Servers

При добавлении Managed Server в GUI нажмите кнопку с соответствующей иконкой:

Заполните IP и порт Managed Server, затем задайте имя кластера и добавьте сервер в кластер.

Форма добавления сервера

Определение кластера

После старта Managed Server обновите консоль, и вы увидите, что нода присоединилась к кластеру и находится в статусе RUNNING.

Нода в составе кластера

Пример настроенного кластера

Еще один Managed Server в кластере

Поздравляем — кластер WebLogic создан.


Практические рекомендации и сценарии использования

  • Используйте Oracle Linux в production для полной совместимости с Oracle‑пакетами и поддержкой.
  • Для автоматизированных развёртываний используйте pack/unpack + стандартные response‑файлы и конфигурационный management (Ansible/Terraform + Vault для паролей).
  • Для контейнеризации рассматривайте официальные образы Oracle WebLogic на Docker (в связке с Kubernetes Operator для WebLogic) — альтернативный подход к масштабированию.

Чек‑листы и роли

Чек‑лист для системного администратора (подготовка хоста):

  • Установлен JDK (JAVA_HOME).
  • Пользователь WebLogic создан и директории имеют правильные права.
  • Firewall/SELinux настроены (порты 7001/7002 и порты Managed Servers открыты).
  • Доступ к загрузочным файлам Oracle (rpm/jar) и место для oraInventory.

Чек‑лист для администратора WebLogic (конфигурация домена):

  • Домены созданы и записаны в DOMAIN_HOME.
  • Пользователь weblogic создан с безопасным паролем и хранится в секретном хранилище.
  • SSL ключи/сертификаты подготовлены (не полагаться на DemoIdentity в production).
  • NodeManager настроен и проверен для автозагрузки Managed Servers.

Чек‑лист для DevOps (развёртывание приложений):

  • Проверены CLASSPATH и версии Java.
  • Конфигурация JDBC, JNDI и Datasources протестированы на тестовом кластере.
  • CI/CD настроен на deploy артефактов в локальные staging среды.

Критерии приёмки

  • Admin Server и все Managed Servers запускаются и достигают статуса RUNNING через консоль.
  • Шаблон домена успешно создан и распаковывается на Managed Servers без ошибок.
  • Приложение деплоится в кластер и доступно через HTTP/HTTPS.
  • Логи старта не содержат критических ошибок (CRITICAL/FATAL) и слушающие порты корректны.

Рекомендации по безопасности

  • Не используйте DemoIdentity.jks в production. Поддерживайте персональные сертификаты в keystore и доверенные CA.
  • Храните пароли WebLogic в безопасном хранилище (Vault, HSM или Managed Secret Storage).
  • Включите TLS для административных подключений (Admin port/SSL).
  • Минимизируйте доступ по сети: разрешите доступ в консоль только с доверенных адресов или через VPN.

Устранение неполадок: частые ошибки и решения

  1. Сервер не стартует (статус STARTING/ADMIN): проверьте логи AdminServer.log и Node log в %DOMAIN_HOME%/servers/*/logs.
  2. Managed Server не присоединяется к Admin Server: проверьте параметр -Dweblogic.management.server URL (t3://admin:7001), сетевую связность и часы/ntpd.
  3. Ошибки SSL/сертификатов: убедитесь, что truststore корректно указывает на CA и что alias ключа совпадает.
  4. Ошибки при pack/unpack: проверьте права на файлы шаблона, каталог и соответствие версий WebLogic.

Debug‑хитрости:

  • Включите более подробный логгинг в domain конфигурации для диагностики сетевых/кластера сообщений.
  • Для отладки NodeManager используйте прямой вызов WLST и попытайтесь подключиться вручную.

Альтернативные подходы и когда они подходят

  • Docker + Kubernetes: подходит для микросервисных деплоев, автоматического масштабирования и облачных сред. Для WebLogic есть официальный Operator от Oracle, который упрощает lifecycle.
  • Oracle WebLogic в виртуальных машинах/VMs: проще в поддержке при традиционной инфраструктуре без оркестрации.
  • Tomcat/Payara/Jetty: рассмотрите, если вам не требуется полный стек Java EE, и вам нужна лёгкая контейнеризация.

Контрпример: если у вас простое веб‑приложение без зависимостей Java EE, WebLogic будет избыточен — используйте более лёгкие контейнеры.


Мини‑методология развёртывания (SOP)

  1. Подготовка хостов: обновление ОС, установка JDK, создание пользователя weblogic.
  2. Подготовка директорий: ORACLE_BASE, oraInventory, DOMAIN_BASE.
  3. Скачивание и установка WebLogic в silent режиме с wls.rsp.
  4. Создание домена через WLST (readTemplate, set параметров, writeDomain).
  5. Запуск Admin Server, создание шаблона pack.sh.
  6. Распространение шаблона на Managed Servers и unpack.sh + startManagedWebLogic.sh.
  7. Консольная проверка и добавление Managed Servers в кластер.
  8. Тестирование деплоя приложения и мониторинг логов.

Тесты и критерии приёмки (короткий набор)

  • Тест 1: доступ к Admin Console по http://172.17.0.6:7001 — ожидание 200 OK.
  • Тест 2: Managed Server присоединён к Admin и имеет статус RUNNING.
  • Тест 3: простое web‑приложение деплоится и отвечает на запросы через кластерный адрес.
  • Тест 4: проверка failover — остановка одной Managed ноды и подтверждение, что кластер продолжает обслуживать запросы.

Критерии успешности: все тесты проходят без критических ошибок, время реакции системы в пределах ожидаемых SLA окружения.


Факто‑бокс

  • Примеры портов: Admin HTTP 7001, Admin SSL 7002, Managed Server по умолчанию 8001 в примере.
  • JDK: 1.8.0_131 (в примере).
  • Версия WebLogic: 12.1.3.0.0 (в примере).

Глоссарий (1‑строчные определения)

  • WLST — WebLogic Scripting Tool, скриптовая оболочка для управления WebLogic (Jython).
  • NodeManager — вспомогательный компонент для запуска/остановки Managed Servers.
  • pack/unpack — утилиты для создания шаблона домена и развёртывания на других нодах.

Заключение

Вы установили и настроили Oracle WebLogic на CentOS 7: подготовили JDK, создали пользователя и окружение, установили WebLogic в silent‑режиме, создали домен TEST, упаковали шаблон и развернули Managed Server, добавили ноды в кластер через консоль. В руководстве также приведены чек‑листы, сценарии тестирования и рекомендации по безопасности и отладке.

Notes: для production требуется дополнительно внедрить централизованное логирование, мониторинг (например, Prometheus/ELK), резервные копии конфигурации и безопасное хранение секретов.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро