场景:一个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相关的软件包,依次使用命令:
得到一些软件安装信息列表,比如:
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
每一条都要去删除,删除命令:
nodeps javajppnodeps javab09.el5
如果出现找不到openjdk source的话,那么还可以这样卸载
jppremove java javab09.el5
需要将每一条都执行删除命令。
2、安装JDK1.7
可以在/usr/下建立路径/java/
#mkdir /usr/java
将jdk的rpm包移到该路径下,然后执行
u79rpm
如果过程中要接受协议等,输入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
检查安装的效果。
二、安装WebLogic11g1、安装准备
下载WebLogic安装包,我下载的是11g,也就是10.3.6版本,官网上安装包名称为wls1036_generic.jar,Oracle官网下载连接。将其拷贝到机器上来。
在安装之前,如果需要,可以添加专门的用户或者用户组,然后为WebLogic指定安装目录等,但不是必须的,根据个人需求。我这里账户名称是admin,我就按照默认的来了。安装包放在/home/admin/下,之后的安装路径等都是默认的。
2、安装WebLogic11g
这里使用admin账户登录并安装。为避免中文乱码可,先执行一下
$export LANG=en_US
然后找到/home/admin下的安装包,执行命令:
console
安装有三种方式,默认界面安装,还有控制台安装和静默安装,这里使用的是控制台安装。
按Enter键,此时安装结束,应该会进入配置Domain流程,在下一节讲解。
3、配置Domain
安装完成后按下Enter应该会默认启动Domain配置界面,如果不是,,请到安装路径下执行配置启动脚本,路径为
/home/admin/Oracle/Middleware/wlserver_10.3/common/bin
找到config.sh,键入命令
$./config.sh
出现安装界面。我在网上看到的资料时console控制台模式,但是我自己输入Enter之后,出现的是窗口模式,不过不要紧,流程一样,基本都是默认的:
经过以上配置,我们已经创建了一个domain,类似于Tomcat中的webapps,用于放web应用。
此时我们已经可以启动WebLogic了,在路径
/home/admin/Oracle/Middleware/user_projects/domains/base_domain
下有启动脚本startWebLogic.sh,执行
$./startWebLogic.sh
即可启动,不过提示输入用户名密码,就是我们穿件domain时配置的,输入信息后回车,稍等片刻,在浏览器中输入
: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下时出现了一些小问题。先说基本配置。
注意:之前说了下我遇到了一些麻烦,这里有几点需要说明:
使用MyEclipse等编辑器export导出war包时,注意不要勾选类似下图中的选项,即
Optimize for a specific server runtime
旅游不在乎终点,而是在意途中的人和事还有那些美好的记忆和景色。