CentOS7_x86_64部署WebLogic11g并设置开机自启
来源:互联网 发布:国外域名国内备案 编辑:程序博客网 时间:2024/06/06 09:02
场景:一个JavaEE项目,之前一直是windows下Oracle10g+Tomcat7,现在应客户要求,需要换成Linux下Oracle10g+WebLogic11g,捯饬了几天,终于弄差不多了。菜鸟的血泪史。下面结合自己的实践流程整理下。
一、安装JDK
不管是开发也好,生产环境也好,jdk是我们必不可少的,安装也比较简单,从官网上下载linux下安装包,我这里是jdk-7u79-linux-x64.rpm。然后按照如下流程安装:
1、查看本地已经安装的JDK
一般系统可能会自带OpenJDK或者之前我们已经安装了其他版本的jdk,为了顺利安装,首先需要清理已经安装的jdk。root用户下使用如下命令查看:
#java -version
比如我的机器就自带了OpenJDK,显示
java version “1.6.0”
OpenJDK Runtime Environment (build 1.6.0-b09)
OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)
那么接下来我们得把他们卸载或者说删除。首先需要查找有哪些和jdk相关的软件包,依次使用命令:
#rpm -qa | grep java#rpm -qa | grep gcj#rpm -qa | grep jdk
得到一些软件安装信息列表,比如:
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
每一条都要去删除,删除命令:
#rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115#rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
如果出现找不到openjdk source的话,那么还可以这样卸载
#yum -y remove java java-1.4.2-gcj-compat-1.4.2.0-40jpp.115#yum -y remove java java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
需要将每一条都执行删除命令。
2、安装JDK1.7
可以在/usr/下建立路径/java/
#mkdir /usr/java
将jdk的rpm包移到该路径下,然后执行
#rpm -ivh jdk-7u79-linux-x64.rpm
如果过程中要接受协议等,输入y接受。之后便安装成功。
3、配置JDK环境变量
配置环境变量是很重要的事,之后很多依赖jdk的,都可以通过环境变量方便的设置,而且有时候是我们必须配置的。最好安装时就给配好。
输入命令:
#vi /etc/profile
在下方添加:
export JAVA_HOME=/usr/java/jdk1.6.0_10
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
添加完成后保存退出,执行
#source /etc/profile
使当前更改生效。如果不放心,还可以重启一下机器。
之后可以使用命令:
#java -version#echo $JAVA_HOME
检查安装的效果。
二、安装WebLogic11g
1、安装准备
下载WebLogic安装包,我下载的是11g,也就是10.3.6版本,官网上安装包名称为wls1036_generic.jar,Oracle官网下载连接。将其拷贝到机器上来。
在安装之前,如果需要,可以添加专门的用户或者用户组,然后为WebLogic指定安装目录等,但不是必须的,根据个人需求。我这里账户名称是admin,我就按照默认的来了。安装包放在/home/admin/下,之后的安装路径等都是默认的。
2、安装WebLogic11g
这里使用admin账户登录并安装。为避免中文乱码可,先执行一下
$export LANG=en_US
然后找到/home/admin下的安装包,执行命令:
$java -jar wls1036_generic.jar -mode=console
安装有三种方式,默认界面安装,还有控制台安装和静默安装,这里使用的是控制台安装。
- 回车后,进入欢迎界面,输入Next;
- 然后会出现安装路径,默认,输入Next;
- 注册安全更新,有三项,其中第三项默认是Yes,因为我们不准备接收安全更新,所以我们输入3;
- 确认选择,输入No;
- 提示是否绕过配置管理器启动过程并不接收安全更新通知,输入Yes;
- 回车后出现刚才的三项列表,此时第三项已经更改为No;
- 后面的步骤都是输入Next,直到提示安装完成;
按Enter键,此时安装结束,应该会进入配置Domain流程,在下一节讲解。
3、配置Domain
安装完成后按下Enter应该会默认启动Domain配置界面,如果不是,请到安装路径下执行配置启动脚本,路径为
/home/admin/Oracle/Middleware/wlserver_10.3/common/bin
找到config.sh,键入命令
$./config.sh
出现安装界面。我在网上看到的资料时console控制台模式,但是我自己输入Enter之后,出现的是窗口模式,不过不要紧,流程一样,基本都是默认的:
- 欢迎界面,选择是新建domain还是扩展,因为第一次使用,输入1,即新建;
- 选择domain源,也是使用默认配置,即键入1回车;
- 应用程序模板选择,这里使用默认,即输入Next回车;
- 编辑domain信息,域名base_domain,默认,输入Next回车;
- 为domain选择目标或目录,默认,输入Next回车;
- 配置管理员用户名和口令,这里按需要输入选项,并根据提示操作,比较简单,配置好输入Next回车;
- domain模式选择,我选择的生产模式,输入2回车;
- 选择JDK,使用我们之前安装的,输入2回车;
- 选择可选配置,我们暂不配置,输入Next回车;
- 开始执行创建,之后显示创建成功。
经过以上配置,我们已经创建了一个domain,类似于Tomcat中的webapps,用于放web应用。
此时我们已经可以启动WebLogic了,在路径
/home/admin/Oracle/Middleware/user_projects/domains/base_domain
下有启动脚本startWebLogic.sh,执行
$./startWebLogic.sh
即可启动,不过提示输入用户名密码,就是我们穿件domain时配置的,输入信息后回车,稍等片刻,在浏览器中输入
http://localhost:7001/console
如果能出现WebLogic登录页,则说明服务启动成功。
4、配置WebLogic启动参数
每次启动WebLogic时都要输入用户名和密码,假设我的WebLogic是自动随着我的服务器的启动而启动,那么如果此时因为是无人值守,谁来输这个用户名和密码啊?提供个方法记住密码——
进入到你新建的域中
$cd /home/admin/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer
然后在该文件夹下新建名为security的文件夹:
$mkdir security
在刚刚新建是文件夹中新建名为boot.properties文件:
vi boot.properties
然后在该文件中输入:
username=xxx
password=xxx
保存后退出。重启WebLogic。此时你会发觉,WebLogic再也不会提示要求你输入WebLogic管理台的用户名和密码了。
重启后我们来到刚刚的新建的文件夹中查看新建的文件:
$cd /home/admin/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/security$vi boot.properties
发现它的内容被加密了,因此只有装WebLogic的那个人即System Admin才真正知道WebLogic控制台的登录信息,这样就很安全了。
我们发现
/home/admin/Oracle/Middleware/user_projects/domains/base_domain
路径下只有启动脚本.startWebLogic.sh而没有停止脚本,不过无所谓,需要的脚本都可以在base_domain下的bin路径下找到,我们查看base_domain下启动脚本的内容会发现,他也只是转发命令到bin下的启动脚本而已。
5、部署web应用
WebLogic支持war包等部署,我测试的例子也是war包。之前是在Tomcat下部署的,在部署到WebLogic下时出现了一些小问题。先说基本配置。
- 将打包好的war包放到base_domain下;
- 启动WebLogic,浏览器输入地址,并且使用sysAdmin账户登录进去;
- 在页面左侧的树结构中,点击“锁定并编辑”,然后点击下方“部署”;
- 之后的操作都比较简单,直接按照页面提示操作就可以,不要忘了在部署完成后,点击左侧上面的“激活更新”,并启动刚才部署的web项目。
- 在浏览器中输入 http://localhost:7001/webappname,应该就可以访问了。
注意:之前说了下我遇到了一些麻烦,这里有几点需要说明:
使用MyEclipse等编辑器export导出war包时,注意不要勾选类似下图中的选项,即
Optimize for a specific server runtime
对于打包好的war包,使用uzip等命令解压,然后jar打包,虽然可以做到结构不变,但是实际测试还是出了问题,无法启动,不知道具体原因,建议大家不要轻易改变结构,而是在编辑器中export出,当然如果弄明白其中的原理应该没问题。
org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken
查了下原因,大概是这样,因为我使用了Hibernate3,Hibernate3中使用的查询分析器的一个包antlr.jar版本是2.7.x,而WebLogic11g中已经包含了一个更早版本的该jar包,导致在启动时已经加载了老版本的而未加载新版本jar包,也就是jar包冲突了,导致了该异常。
解决方案:让加载当前web应用时先加载WEB-INF下的jar包,具体方案就是,在WEB-INF下新建weblogic.xml,内容如下:
<?xml version="1.0" encoding="UTF-8"?><weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.3/weblogic-web-app.xsd"> <container-descriptor> <!--优先加载位于 Web 应用程序的 WEB-INF 目录中的类,然后再加载应用程序或系统类加载器中的类--> <prefer-web-inf-classes>true</prefer-web-inf-classes> </container-descriptor> </weblogic-web-app>
然后重新编译打包war包再重新部署、启动,应该就可以了。
三、设置WebLogic开机自启动
上面我们已经说过了安装部署WebLogic并部署webApp,不过还不尽如人意,因为在实际生产环境下,及其可能因为更新或者打补丁等重启,此时WebLogic不会自动启动,而我们又无法知道机器什么时候重启,不可能也不需要总是手工启动。下面我们来配置WebLogic开机自动启动。
1、创建WebLogic启动脚本
以root用户登录,执行如下命令,创建启动脚本:
# cd /etc/rc.d/init.d/# vi weblogic
脚本中添加一下内容:
#!/bin/bash # chkconfig: 345 20 80 # description: Weblogic Server auto start/stop script.# /etc/rc.d/init.d/weblogic # Please edit the variable export BEA_BASE=/home/admin/Oracle/Middleware export BEA_HOME=$BEA_BASE/user_projects/domains/base_domain export BEA_LOG=$BEA_HOME/weblogic.log export PATH=$PATH:$BEA_HOMEBEA_OWNR="admin" # if the executables do not exist -- display error if [ ! -f $BEA_HOME/startWebLogic.sh -o ! -d $BEA_HOME ] then echo "WebLogic startup: cannot start" exit 1 fi # depending on parameter -- startup, shutdown, restart case "$1" in start) echo -n "Starting WebLogic,log file $BEA_LOG: " touch /var/lock/weblogic su $BEA_OWNR -c "cd ${BEA_HOME}; nohup ./startWebLogic.sh > $BEA_LOG 2>&1 &" echo "OK" ;; stop) echo -n "Shutdown WebLogic: " rm -f /var/lock/weblogic su $BEA_OWNR -c "cd ${BEA_HOME}/bin; ./stopWebLogic.sh >> $BEA_LOG" echo "OK" ;; reload|restart) $0 stop $0 start ;; *) echo "Usage: `basename $0` start|stop|restart|reload" exit 1 esac exit 0
2、赋予可执行权限
执行命令:
# chmod +x weblogic
3、添加到服务列表中
# chkconfig --add weblogic
4、检查是否添加成功
# chkconfig --list | grep weblogic
weblogic 0:关闭1:关闭2:关闭3:启用4:启用5:启用6:关闭
5、使用方法
开机或重启WebLogic应用服务器weblogic服务会自动启动。
停WebLogic服务
# service weblogic stop(或/etc/rc.d/init.d/weblogic stop)
Shutdown WebLogic: OK
启动WebLogic服务
# service weblogic start(或/etc/rc.d/init.d/weblogic start)
Starting WebLogic,log file
/weblogic/bea/user_projects/domains/csky/weblogic.log: OK
四、重新配置WebLogic依赖的JDK
在实际使用中,我之前装的是JDK1.6,后来换成了1.7。除了按照第一部分安装JDK的步骤执行一遍以外,还需要配置WebLogic的JDK,否则之前的启动脚本等都可能会报错,类似:
The JRE was not found in directory C:\PROGRA~1\Java\jdk1.6.0. (JAVA_HOME)
Please edit your environment and set the JAVA_HOME variable to point
to the root directory of your Java installation.
原因:在安装WebLogic时,启动脚本等配置文件里的JAVA_HOME都是写的绝对路径,如
SUN_JAVA_HOME=/usr/java\jdk1.6.0
在更新了JDK后,这里并没有同步更改,那么我们需要手动更改。需要更改的有两处:
(1)一个是路径
/home/admin/Oracle/Middleware/user_projects/dmain/base_domain/bin/
下的setDomainEnv.sh,键入命令
$vi setDomainEnv.sh
找到
SUN_JAVA_HOME=/usr/java/jdk1.6.0
更改为
SUN_JAVA_HOME=”$JAVA_HOME”
(2)另一处是路径
/home/admin/Oracle/Middleware/wlserver_10.3/common/bin/
下的commEnv.sh,执行命令
$vi commEnv.sh
找到
#set up JAVA HOME
JAVA_HOME=/usr/java/jdk1.6.0
改为:
#set up JAVA HOME
JAVA_HOME=”$JAVA_HOME”
保存退出,即可。
OK,大功告成,JDK升级完成。这里两处都要改,否则在执行启动脚本时会报错,还有可能出现很费解的问题:手动执行.startWebLogic.sh时没问题,自启动脚本却报错找不到JAVA_HOME,原因就是第二处commEnv.sh里没有更改过来。
以上根据网络资料及自身实践整理而来,仅供学习。如果有错误,欢迎指正。
- CentOS7_x86_64部署WebLogic11g并设置开机自启
- CentOS7_x86_64创建Oracle实例且设置开机自启以及允许远程连接
- RHEL 7.2 下安装Tomcat并设置开机自启
- Centos7 离线安装mysql5.7并设置开机自启
- 启动vncserver服务,并设置开机自启
- svn开机自启设置
- 设置tomcat开机自启
- windows版的weblogic11g设置成服务开机启动
- nginx安装部署以及开机自启
- 在win2012r2上安装KMS模拟器和IDEA激活模拟器并设置开机自启
- Linux下Tomcat查看运行日志并设置开机自启
- 在win2012r2上安装KMS模拟器和IDEA激活模拟器并设置开机自启
- 在win2012r2上安装KMS模拟器和IDEA激活模拟器并设置开机自启
- CentOS 7 安装JDK8、Tomcat8并设置tomcat服务开机自启
- Centos7下配置nfs并设置开机自启动
- linux下安装tomcat并设置开机自启动
- Ubuntu下redis安装并设置开机自启动
- Ubuntu安装Redis并设置为开机自启动服务
- log4j报找不到文件的异常
- hdoj2020绝对值排序(sort)
- 新建一个基于对话框的MFC程序, 按空格键发现程序退出。
- POJ 1275--Cashier Employment【差分约束,经典建边】
- Spring -- 4.0新特性 -- 泛型依赖注入
- CentOS7_x86_64部署WebLogic11g并设置开机自启
- IOS开发小tip
- NYOJ 483 Nightmare(bfs)
- nyoj 士兵杀敌 RMQ区间最值查询
- 1870 愚人节的礼物
- VS2008 C++ 错误 fatal error C1853: "Debug\sift.pch"
- Android ListView使用问题
- 关于onethinkphp 分类数据
- 关于4.4沉倾式状态栏