Category 仙盟战场

最近在跟客户搞持续部署,客户这边很多 Java 项目使用的应用服务器都是 WebLogic,因此为了更加方便自己调试一些命令,减少对测试环境甚至生产环境的侵害,我打算自己搭建一套本地 WebLogic 环境来验证一下操作,本篇记录一下环境部署。

1. 安装 JDK 环境

安装 JDK 环境的步骤这里不做说明,我博客有相关操作文档。

使用 java -version 来验证:

root@weblogic:~# java -version

java version "1.8.0_411"

Java(TM) SE Runtime Environment (build 1.8.0_411-b09)

Java HotSpot(TM) 64-Bit Server VM (build 25.411-b09, mixed mode)

2. 创建用户和组

WebLogic 一般使用 weblogic 用户来启动,因此一般创建一个 weblogic 和同名的用户组:

sudo groupadd weblogic

sudo useradd -g weblogic -s /bin/bash -m weblogic

sudo passwd weblogic

3. 安装 WebLogic

3.1 下载 WebLogic 安装包

从 Oracle 官网 下载安装包,跟下载 JDK 包一样,需要注册和登录 Oracel 账号才可以下载.

下载的时候选择 Generic 的:

下载后可以得到一个类似这种的压缩包:fmw_12.2.1.4.0_wls_lite_Disk1_1of1.zip

3.2 上传并解压安装包

将下载的安装包压缩文件上传到服务器上面任意位置,并解压文件,此时可以得到一个 jar 包,如 fmw_12.2.1.4.0_wls_lite_generic.jar

unzip fmw_12.2.1.4.0_wls_lite_Disk1_1of1.zip

3.3 使用配置文件静默安装

首先,切换到 weblogic 用户:

su weblogic

然后创建一个目录用来放置响应文件(静默安装的配置文件):

mkdir -p /home/weblogic/response_files

在该目录下创建一个响应文件(比如wls_silent_install.rsp),内容如下:

[ENGINE]

#DO NOT CHANGE THIS.

Response File Version=1.0.0.0.0

[GENERIC]

# The oracle home location. This can be an existing Oracle Home or a new Oracle Home

ORACLE_HOME=/home/weblogic/Oracle/Middleware

# Set this variable value to the Installation Type selected. e.g. Fusion Middleware Infrastructure, Fusion Middleware Infrastructure With Examples.

INSTALL_TYPE=WebLogic Server

# Provide the My Oracle Support Username. If you wish to ignore Oracle Configuration Manager configuration provide empty string for user.

MYORACLESUPPORT_USERNAME=

# Provide the My Oracle Support Password

MYORACLESUPPORT_PASSWORD=

# Set this to true if you wish to decline the security updates.

DECLINE_SECURITY_UPDATES=true

# Set this to true if My Oracle Support Password is specified.

SECURITY_UPDATES_VIA_MYORACLESUPPORT=false

# Provide the Proxy Host

PROXY_HOST=

# Provide the Proxy Port

PROXY_PORT=

# Provide the Proxy Username

PROXY_USER=

# Provide the Proxy Password

PROXY_PWD=

# Type String (URL format) Indicates the OCM Repeater URL to be used to upload the RDA results.

COLLECTOR_SUPPORTHUB_URL=

# The directory where the latest support library patches are stored. This directory will be searched for the patches needed for the installation.

SUPPORT_LIBRARIES_PATH=

备注:这里只需要关注一个配置项 ORACLE_HOME 就行,这个配置的注释也说明了作用,并且特意说了需要给予目录足够的权限。

再创建一个 oraInst.loc 配置文件,内容如下:

inventory_loc=/home/weblogic/oraInventory

inst_group=weblogic

备注:

inventory_loc: 表示产品清单目录

inst_group: 表示 weblogic 用户所在的组名

最后加载环境变量配置文件,并执行安装命令(注意三个文件的路径根据实际填写):

source /etc/profile

java -jar /opt/software/fmw_12.2.1.4.0_wls_lite_generic.jar -silent -responseFile /home/weblogic/response_files/wls_silent_install.rsp -invPtrLoc /home/weblogic/response_files/oraInst.loc

看到类似如下输出就是安装成功:

...

Validations are enabled for this session.

Verifying data

Copying Files

Percent Complete : 10

Percent Complete : 20

Percent Complete : 30

Percent Complete : 40

Percent Complete : 50

Percent Complete : 60

Percent Complete : 70

Percent Complete : 80

Percent Complete : 90

Percent Complete : 100

The installation of Oracle Fusion Middleware 12c WebLogic Server and Coherence 12.2.1.4.0 completed successfully.

Logs successfully copied to /home/weblogic/oraInventory/logs.

4. 创建域

首先,创建域配置响应文件,这里可以直接复制 Weblogic 自带的模板,复制命令如下:

cp /home/weblogic/Oracle/Middleware/wlserver/common/templates/scripts/wlst/basicWLSDomain.py /home/weblogic/response_files/create_domain.py

然后修改一下配置中的参数即可:

#=======================================================================================

# This is an example of a simple WLST offline configuration script. The script creates

# a simple WebLogic domain using the Basic WebLogic Server Domain template. The script

# demonstrates how to open a domain template, create and edit configuration objects,

# and write the domain configuration information to the specified directory.

#

# This sample uses the demo Derby Server that is installed with your product.

# Before starting the Administration Server, you should start the demo Derby server

# by issuing one of the following commands:

#

# Windows: WL_HOME\common\derby\bin\startNetworkServer.cmd

# UNIX: WL_HOME/common/derby/bin/startNetworkServer.sh

#

# (WL_HOME refers to the top-level installation directory for WebLogic Server.)

#

# The sample consists of a single server, representing a typical development environment.

# This type of configuration is not recommended for production environments.

#

# Please note that some of the values used in this script are subject to change based on

# your WebLogic installation and the template you are using.

#

# Usage:

# java weblogic.WLST

#

# Where:

# specifies the full path to the WLST script.

#=======================================================================================

#=======================================================================================

# Open a domain template.

#=======================================================================================

readTemplate("/home/weblogic/Oracle/Middleware/wlserver/common/templates/wls/wls.jar")

#=======================================================================================

# Configure the Administration Server and SSL port.

#

# To enable access by both local and remote processes, you should not set the

# listen address for the server instance (that is, it should be left blank or not set).

# In this case, the server instance will determine the address of the machine and

# listen on it.

#=======================================================================================

cd('Servers/AdminServer')

set('ListenAddress','')

set('ListenPort', 7001)

create('AdminServer','SSL')

cd('SSL/AdminServer')

set('Enabled', 'True')

set('ListenPort', 7002)

#=======================================================================================

# Define the user password for weblogic.

#=======================================================================================

cd('/')

cd('Security/base_domain/User/weblogic')

cmo.setPassword('weblogic123')

# Please set password here before using this script, e.g. cmo.setPassword('value')

#=======================================================================================

# Create a JMS Server.

#=======================================================================================

cd('/')

create('myJMSServer', 'JMSServer')

#=======================================================================================

# Create a JMS System resource.

#=======================================================================================

cd('/')

create('myJmsSystemResource', 'JMSSystemResource')

cd('JMSSystemResource/myJmsSystemResource/JmsResource/NO_NAME_0')

#=======================================================================================

# Create a JMS Queue and its subdeployment.

#=======================================================================================

myq=create('myQueue','Queue')

myq.setJNDIName('jms/myqueue')

myq.setSubDeploymentName('myQueueSubDeployment')

cd('/')

cd('JMSSystemResource/myJmsSystemResource')

create('myQueueSubDeployment', 'SubDeployment')

#=======================================================================================

# Create and configure a JDBC Data Source, and sets the JDBC user.

#=======================================================================================

cd('/')

create('myDataSource', 'JDBCSystemResource')

cd('JDBCSystemResource/myDataSource/JdbcResource/myDataSource')

create('myJdbcDriverParams','JDBCDriverParams')

cd('JDBCDriverParams/NO_NAME_0')

set('DriverName','org.apache.derby.jdbc.ClientDriver')

set('URL','jdbc:derby://localhost:1527/db;create=true')

set('PasswordEncrypted', 'PBPUBLIC')

set('UseXADataSourceInterface', 'false')

create('myProps','Properties')

cd('Properties/NO_NAME_0')

create('user', 'Property')

cd('Property/user')

cmo.setValue('PBPUBLIC')

cd('/JDBCSystemResource/myDataSource/JdbcResource/myDataSource')

create('myJdbcDataSourceParams','JDBCDataSourceParams')

cd('JDBCDataSourceParams/NO_NAME_0')

set('JNDIName', java.lang.String("myDataSource_jndi"))

cd('/JDBCSystemResource/myDataSource/JdbcResource/myDataSource')

create('myJdbcConnectionPoolParams','JDBCConnectionPoolParams')

cd('JDBCConnectionPoolParams/NO_NAME_0')

set('TestTableName','SYSTABLES')

#=======================================================================================

# Target resources to the servers.

#=======================================================================================

cd('/')

assign('JMSServer', 'myJMSServer', 'Target', 'AdminServer')

assign('JMSSystemResource.SubDeployment', 'myJmsSystemResource.myQueueSubDeployment', 'Target', 'myJMSServer')

assign('JDBCSystemResource', 'myDataSource', 'Target', 'AdminServer')

#=======================================================================================

# Write the domain and close the domain template.

#=======================================================================================

setOption('OverwriteDomain', 'true')

writeDomain('/home/weblogic/Oracle/Middleware/wlserver/../user_projects/domains/basicWLSDomain')

closeTemplate()

#=======================================================================================

# Exit WLST.

#=======================================================================================

exit()

可以按需修改的配置:

1、修改默认端口7001:

cd('Servers/AdminServer')

set('ListenAddress','')

set('ListenPort', 7001)

2、设置 weblogic 控制台的登录密码:

cd('/')

cd('Security/base_domain/User/weblogic')

cmo.setPassword('weblogic123')

配置修改完成后,加载一下 weblogic 的环境变量文件:

source /home/weblogic/Oracle/Middleware/wlserver/server/bin/setWLSEnv.sh

然后执行创建命令:

/home/weblogic/Oracle/Middleware/wlserver/common/bin/wlst.sh /home/weblogic/response_files/create_domain.py

正常的输出如下:

weblogic@weblogic:~$ /home/weblogic/Oracle/Middleware/wlserver/common/bin/wlst.sh /home/weblogic/response_files/create_domain.py

WARNING: This is a deprecated script. Please invoke the wlst.sh script under oracle_common/common/bin.

Initializing WebLogic Scripting Tool (WLST) ...

Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands

Exiting WebLogic Scripting Tool.

5. 启动服务

进入启动脚本目录:

cd /home/weblogic/Oracle/Middleware/user_projects/domains/basicWLSDomain/bin

启动服务:

sh startWebLogic.sh

然后就可以访问控制台,输入地址:http://ip:7001/console 就可以登录。

验证没问题后,可以在后台启动服务:

nohup sh startWebLogic.sh &

版权声明:如无特殊说明,文章均为本站原创,转载请注明出处

本文链接:https://tendcode.com/subject/article/weblogic-install/

许可协议:署名-非商业性使用 4.0 国际许可协议

Copyright © 2088 玄霜问道-仙侠网游活动资讯 All Rights Reserved.
友情链接