linux下安装weblogic(静默方式安装、界面方式安装、中文乱码、服务注册开机自启)

文章中weblogic静默安装部分参考自:

https://www.jianshu.com/p/7f7fe19a9239

之前用命令安装时弹出的安装界面中文乱码了,这次使用静默安装,参考了上面大佬的操作后安装成功了,在此分享出来。

除此之外,个人还总结了一些其他的安装方式以及可能遇到的问题及解决方式。

linux系统:CentOS8

JDK:1.8   //oracle官网自行下载

Weblogic:12.2  //oracle官网自行下载,windows/linux通用

开始吧。

 

1、在root下新建weblogic用户和组
groupadd weblogic //新建weblogic组
useradd -g weblogic weblogic //新建weblogic用户并添加到weblogic组
passwd weblogic //设置用户密码
weblogic123 //输入
mkdir /usr/local/weblogic //新建weblogic目录
chmod +x /usr/local/weblogic //赋予该目录可执行权限

 

2、在当前root用户下安装jdk1.8并配置(之前安装过jdk的跳过此步骤)
vim /etc/profile //编辑该文件 配置jdk如下
export JAVA_HOME=/usr/local/java/jdk1.8.0_231
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}:/usr/local/mysql/bin:/usr/local/mysql/lib
wq!保存退出
source /etc/profile //使该文件立即生效

3、切换到刚才创建的weblogic用户下
su weblogic
vim /etc/profile //查看刚才配置的jdk信息是否在该用户下存在,如果不存在就把刚才root用户/etc/profile下配置信息再复制过来一份到该文件

接下来创建三个目录:
mkdir /usr/local/weblogic/oraInventory      //
mkdir /usr/local/weblogic/install
mkdir /usr/local/weblogic/weblogic

将weblogic压缩文件放在/usr/local/weblogic下并解压:
unzip /usr/local/weblogic/fmw_12.2.1.4.0_wls_Disk1_1of1.zip
我的默认解压在了根目录下,解压后得到了jar文件fmw_12.2.1.4.0_wls.jar
将该jar移入刚才新建的usr/local/weblogic/install中:
mv /usr/local/weblogic/fmw_12.2.1.4.0_wls.jar  /usr/local/weblogic/install

4、在 /usr/local/weblogic/install下
创建两个配置文件oraInst.loc和wls.rsp

vim /usr/local/weblogic/install/oraInst.loc

复制以下内容到文件中:


#产品清单目录,注意不能放在weblogic安装目录下,要保证安装目录为空
inventory_loc=/usr/local/weblogic/oraInventory
#用户的组名称,根据实际的修改,注意用什么用户安装weblogic这里就写什么用户名,我用的是weblogic用户安装的。
inst_group=weblogic


保存后退出

vim /usr/local/weblogic/install/wls.rsp

复制以下内容到文件中:


[ENGINE]
#DO NOT CHANGE THIS
Response File Version=1.0.0.0.0
[GENERIC]
#weblogic的安装路径
ORACLE_HOME=/usr/local/weblogic/weblogic
#Set this variable value to the Installation Type selected.e.g.  Weblogic Server,Coherence,Complete with Examples.
INSTALL_TYPE=WebLogic Server
DECLINE_SECURITY_UPDATES=true
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false


保存后退出

5、使用刚才创建的两个配置文件来安装weblogic

执行如下命令:
java -jar /usr/local/weblogic/install/fmw_12.2.1.4.0_wls.jar -silent -responseFile /usr/local/weblogic/install/wls.rsp -invPtrLoc /usr/local/weblogic/install/oraInst.loc


回车后开始执行输出:

6、创建domain(注册weblogic用户)
domain是weblogic的执行单位
首先在 /usr/local/weblogic/weblogic/oracle_common/common/bin/config.sh 中添加随机数加快domain的创建。
vim  /usr/local/weblogic/weblogic/oracle_common/common/bin/config.sh
在最后一行加入以下命令:
JVM_ARGS="-D java.security.egd=file:///dev/urandom-Dpython.cachedir=/tmp/cachedir ${JVM_D64} ${UTILS_MEM_ARGS} ${SECURITY_JVM_ARGS} ${CONFIG_JVM_ARGS}"

保存退出

其次采用wlst脚本来建立domain:
vim /usr/local/weblogic/install/create_domain.py
加入以下内容:

readTemplate('/usr/local/weblogic/weblogic/wlserver/common/templates/wls/wls.jar')
cd('Servers/AdminServer')
set('ListenPort',7001)
cd('/')
cd('Security/base_domain/User/weblogic')
#如果需要修改管理员用户名weblogic,则需要cmo.setName('weblogic')
cmo.setName('weblogic')
#用户名
cmo.setPassword('weblogic123')
#密码
setOption('ServerStartMode','prod')
setOption('OverwriteDomain','true')
writeDomain('/usr/local/weblogic/weblogic/user_projects/proddomain')
#自定义的domain路径
closeTemplate()
exit()


保存后退出

然后使用/usr/local/weblogic/weblogic/oracle_common/common/bin/wlst.sh脚本来运行以上创建的create_domain.py脚本:
 sh /usr/local/weblogic/weblogic/oracle_common/common/bin/wlst.sh  /usr/local/weblogic/install/create_domain.py
回车执行后输出如下:
Initializing WebLogic Scripting Tool (WLST) ...
Welcome to WebLogic Server Administration Scripting Shell
Type help() for help on available commands
Exiting WebLogic Scripting Tool.

7、测试weblogic是否安装成功
执行/usr/local/weblogic/weblogic/user_projects/proddomain/目录下的startWebLogic.sh脚本即可启动weblogic服务:
sh /usr/local/weblogic/weblogic/user_projects/proddomain/startWebLogic.sh
回车后提醒需要输入用户名和密码:
用户名:weblogic
密码:weblogic123
回车后输出日志:

此时在浏览器地址栏输入:

http://localhost:7001/console

回车

再次输入用户名和密码

界面默认是英文的,这与浏览器语言的设置有关系,可以将浏览器语言设置为中文,则界面会以中文显示

8、项目部署

在GUI界面左侧栏中找到部署。然后添加war 包后一直下一步即可。接着在地址栏中输入localhost:7001/项目名称 

9、注册weblogic服务开机自动启动

当我们重新启动linux时,需要再次执行startWebLogic.sh脚本后才能启动weblogic服务,这显然是很麻烦的,所以我们要把它做成开机自动启动的服务。开机自动启动的服务脚本都在/etc/init.d目录下,所以我们需要在这下面新建一个服务:

vim /etc/init.d/weblogic  //新建weblogic脚本 回车执行

脚本内容如下:

注意:脚本开头的三行必须要有,否则会报错服务不支持chkconfig

#!/bin/sh
#chkconfig:2345 80 90
#description: auto-start weblogic
#weblogic service

export JAVA_HOME=/usr/local/java/jdk1.8.0_231
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
export WEBLOGIC_HOME=/usr/local/weblogic/weblogic/user_projects/proddomain



case "$1" in
start)
         if netstat -nlutp | grep 7001|egrep -v grep >/dev/nll
         then
         echo $"weblogic  already started!"
         else
         echo "Weblogic starting..."
         ${WEBLOGIC_HOME}/bin/startWebLogic.sh
         echo $"Weblogic started!"
         fi
         exit 0
         ;;
stop)
        if netstat -nlutp | grep 7001 | egrep -v grep >/dev/nll
        then
        echo $"Weblogic stopping..."
        ${WEBLOGIC_HOME}/bin/stopWebLogic.sh
        sleep 3s
        if netstat -nlutp | grep 7001 | egrep -v grep >/dev/nll
        then
        ps -ef | grep weblogic | grep -v grep | awk '{print $2}' | xargs kill -9
        fi
        echo $"Weblogic stopped!"
        else
        echo $"Weblogic is already stopped!"
        fi
        exit 0
        ;;
restart)
        if netstat -nlutp | grep 7001 | egrep -v grep >/dev/nll
        then
        echo $"Weblogic stopping..."
        ${WEBLOGIC_HOME}/bin/stopWebLogic.sh
        echo $"Weblogic stopped!"
        sleep 3s
        echo $"Weblogic restarting..."
        ${WEBLOGIC_HOME}/bin/startWebLogic.sh
        echo $"Weblogic started!"
        else
        echo $"Weblogic restarting..."
        ${WEBLOGIC_HOME}/bin/startWebLogic.sh
        echo $"Weblogic started!"
        fi
        exit 0
        ;;

status)

        if netstat -nlutp | grep 7001 | egrep -v grep >/dev/null
        then
        echo "weblogic is running!"
        else
        echo "weblogic is stopped!"
        fi
        exit 0
        ;;
*)
        echo $"Usage: $0{start|stop|restart|status}"
        exit 1
        ;;
esac
exit 0

保存后退出

然后赋予脚本可执行权限并且开机自动启动

chmod +x /etc/init.d/weblogic  //赋予脚本可执行权限

chkconfig --add /etc/init.d/weblogic  //将脚本添加到开机自动启动列表

chkconfig weblogic on //设置脚本开机自动启动

chkconfig --level 2345 weblogic on //如果脚本开头没有指定开机启动级别,则默认为345级别,可以通过该命令来设定脚本启动级别

reboot //重启linux进行测试

重启后就可以用以下的命令来操作服务:

service weblogic status  //查看weblogic服务状态

service weblogic start  //启动weblogic服务

service weblogic restart //重启weblogic服务

service weblogic stop //停止weblogic服务

如果以上注册服务的方式不能让weblogic开机自动启动,则可以用如下方式:

方式一:

在 /etc/rc.d/rc.local 中加入jdk路径以及startWeblogic.sh的路径即可。这种方式应该来说适合大部分需要开机自启的脚本。个人试过是可行的

方式二:

在 /etc/profile中加入 startWeblogic.sh 的路径即可。因为在开机时会自动执行profile文件其中的环境,这也是为什么经常将一些环境配置在这里的原因。这种方式简单而粗暴,但看起来不太可靠的样子。但此方法个人试过是可行的。

建议:当注册服务后即使开机无法自启weblogic,也应该使用以上脚本去注册服务,然后再用以上两种方式去添加启动脚本的路径到相应文件。因为这样服务启动后就可以使用命令去操作服务,service weblogic start|restart|stop|status

在每次重启weblogic服务时会发现需要输入用户名和密码,这显然是有些麻烦的。解决:

在/usr/local/weblogic/weblogic/user_projects/proddomain/servers/AdminServer(如果是界面方式安装的weblogic,则在/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer)中新建一个文件夹:security,然后在这个文件夹中新建一个文件:boot.properties,在该文件中写入内容:username=weblogic  password=weblogic123 ,保存后退出。重启测试。

boot.properties

日志在:

/usr/local/weblogic/weblogic/user_projects/proddomain/servers/AdminServer/logs

10、界面方式创建domain

在第6步创建domain时也可以通过GUI界面来创建:

执行 /usr/local/weblogic/weblogic/oracle_common/common/bin/目录下的config.sh脚本后会弹出GUI界面:

但弹出的界面中文乱码了:

查看当前用户的字符集:

所以需要改为英文字符集:

进入到config.sh脚本所在的bin目录下:

cd /usr/local/weblogic/weblogic/oracle_common/common/bin/

然后执行:

export LANG=en_US   (注意:LANG是大写)

此时再次查看字符集会看到改成了英文字符集

然后再次执行config.sh脚本后回车:(注意脚本路径看仔细,其他路径下的config.sh脚本执行后不会有GUI界面弹出来)

此时的GUI才是人看得懂的

然后一路next创建一个domain即可,最后执行sh /usr/local/weblogic/weblogic/user_projects/proddomain/startWebLogic.sh即可启动weblogic服务

但以上方式修改字符编码后当linux重启后又回到了zh_CN.UTF-8,这种编码方式对于大多数应用来说是没有任何问题的,但对于想weblogic应用来说就会乱码,解决:

方式一:

修改weblogic启动脚本中的编码方式:

vim /usr/local/weblogic/weblogic/user_projects/proddomain/bin/startWebLogic.sh

回车

在以下地方(大概快到脚本80%处)加入 -Dweblogic.webservice.i18n.charset=utf-8,注意不要加入到echo中去了

保存退出

重启weblogic服务,如果之前服务是打开的,则关闭后在再启动

关闭服务执行:

sh /usr/local/weblogic/weblogic/user_projects/proddomain/bin/stopWebLogic.sh

如果关不掉则强制杀死:

ps -ef|grep weblogic  //搜索weblogic的pid

kill -9 pid  //强制杀死

当注册了weblogic服务就可以使用 service weblogic restart来重启服务了

方式二:

当然也可以直接修改linux系统的字符编码和语言:

vim /etc/locale.conf(centos8是这个文件,其他系统应该是/etc/sysconfig/i18n)

将 LANG="zh_CN.UTF-8" 修改为LANG="en_US.UTF-8"

保存退出后执行 source /etc/locale.conf 让该文件立即生效

再次查看,执行locale或echo $LANG

方式三:

vim /etc/profile

添加

export LC_ALL="en_US.UTF-8"  
export LANG="en_US.UTF-8"

使文件立即生效
source /etc/profile

再次查看
echo $LANG

 

11、界面方式安装weblogic

其实在上面的第2步完成jdk的配置后可以直接执行解压出来的jar文件来进入GUI安装界面,这和在windows中安装weblogic是一样的:

执行命令:

java -jar /usr/local/weblogic/install/fmw_12.2.1.4.0_wls.jar
等待片刻后输入:y

输入y后就会弹出GUI界面来进行自己选择安装吧

暂且就写到这里吧!!!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

那个小白猿

讨杯可乐

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值