CentOS6 下 JDK7 + jBoss AS 7 环境搭建

系统 2265 0

背景

由于工作需要,现有的web应用必须跑在linux+JDK+jBoss的环境下。早在写此文之前,公司已经成功部署JDK+jBoss在CentOS上,应用运行也正常,但唯一的问题是,验证码不能显示。具体报错为X11FontManager类不能初始化,找遍全网未找到相关问题的原因。大多数说不能访问X Server,使用JDK自带的图形处理类。即设置-Djava.awt.headless=true。全网这方面提议最多。虽然不太懂jBoss的机制,但看了standalone.sh脚本,显示已经开启了-Djava.awt.headless=true,因此我不觉得是这个问题。                     
standalone.sh运行时的提示信息,显示已经启用了-Djava.awt.headless=true ,因此可以忽略这个问题。                     
仔细查了一下X11FontManager类,后来得知是Open JDK的一个类。因此,我怀疑是因为安装的SUN JDK与Open JDK引起的混用问题导致的。带着这个疑问,重新安装了一台CentOS,先卸载默认的Open JDK,再安装SUN JDK,最终解决问题。                     
另外一个问题是,之前安装的环境每次都得用终端命令启动(standalone.sh)时需要加参数 ./standalone.sh -Djboss.bind.address=0.0.0.0”,才可以通过IP来访问jBosse服务器,百思不得其解,互联网的解决方案较多,但jBoss AS 7.1.1的解决方案没有。但最终还是找到了设置的配置文件,去掉了每次加参数启动的方式。                   

软件版本                  
CentOS 6 + JDK 7u6 + jBoss AS 7.1.1                     
详细的部署过程:

  • 删除默认Open JDK:                   

个人建议使用X11 window窗口删除Open JDK,个人认为terminal终端使用起来较不方便。操作步骤:系统-》管理-》添加/删除软件                         
在查找栏输入“Open”点击查找,出来很多Open选项,找到关于Open JDK 相关的全部打勾,记得好像是3个,点击应用则删除了。                         
安装SUN JDK:

下载后直接双击安装,安装是傻瓜化的结束之后设置环境变量相关的信息,如下步骤:                         
在/etc/profile文件末尾添加内容如下:                           

export JAVA_HOME=/usr/java/jdk1.7.0_06

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

update-alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_06/bin/java 60

update-alternatives --config java

显示如下信息:

   1           /usr/lib/jvm/jre-1.4.2-gcj/bin/java

   2           /usr/java/jdk1.7.0_03/bin/java

输入2敲回车

java -version

java version "1.7.0_06" Java(TM) SE Runtime Environment (build 1.7.0_03-b04) Java HotSpot(TM) 64-Bit Server VM (build 22.1-b02, mixed mode)

OK。JDK安装完毕

解压,将其文件夹放到/usr下面

运行/usr/jboss-as-7.1.1.Final/bin下的standalone.sh

此时在linux火狐浏览器下输入地址: http://127.0.0.1:8080/

可以看到jboss运行的页面

但此时,同一局域网的其它用户却不能访问您的jboss服务器。

 

需要做如下2个设置:

1.系统防火墙的设置 系统-》管理-》防火墙,选择可信接口,选择右边的eth+(网卡)打勾,最后点击应用。

2.jBoss配置文件设置 /usr/jboss-as-7.1.1Final/standalone/configuration 打开standalone.xml文件。

修改此节点address内容

<interfaces>

  <interface name="public">

    <inet-address value="${jboss.bind.address:0.0.0.0}"/>

  </interface>

</interfaces>


OK,重新启一下CentOS,直接运行standalone.sh吧;结束了。。。

作者:小四(tony.wang),转载时请保留出处。





CentOS6 下 JDK7 + jBoss AS 7 环境搭建


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论