背景
由于工作需要,現(xiàn)有的web應(yīng)用必須跑在linux+JDK+jBoss的環(huán)境下。早在寫此文之前,公司已經(jīng)成功部署JDK+jBoss在CentOS上,應(yīng)用運(yùn)行也正常,但唯一的問題是,驗證碼不能顯示。具體報錯為X11FontManager類不能初始化,找遍全網(wǎng)未找到相關(guān)問題的原因。大多數(shù)說不能訪問X Server,使用JDK自帶的圖形處理類。即設(shè)置-Djava.awt.headless=true。全網(wǎng)這方面提議最多。雖然不太懂jBoss的機(jī)制,但看了standalone.sh腳本,顯示已經(jīng)開啟了-Djava.awt.headless=true,因此我不覺得是這個問題。???????????????????
?
standalone.sh運(yùn)行時的提示信息,顯示已經(jīng)啟用了-Djava.awt.headless=true ,因此可以忽略這個問題。???????????????????
?
仔細(xì)查了一下X11FontManager類,后來得知是Open JDK的一個類。因此,我懷疑是因為安裝的SUN JDK與Open JDK引起的混用問題導(dǎo)致的。帶著這個疑問,重新安裝了一臺CentOS,先卸載默認(rèn)的Open JDK,再安裝SUN JDK,最終解決問題。???????????????????
?
另外一個問題是,之前安裝的環(huán)境每次都得用終端命令啟動(standalone.sh)時需要加參數(shù) ./standalone.sh -Djboss.bind.address=0.0.0.0”,才可以通過IP來訪問jBosse服務(wù)器,百思不得其解,互聯(lián)網(wǎng)的解決方案較多,但jBoss AS 7.1.1的解決方案沒有。但最終還是找到了設(shè)置的配置文件,去掉了每次加參數(shù)啟動的方式。???????????????????
軟件版本
???????????????
?
CentOS 6 + JDK 7u6 + jBoss AS 7.1.1???????????????????
?
詳細(xì)的部署過程:
- 刪除默認(rèn)Open JDK:???????????????????
個人建議使用X11 window窗口刪除Open JDK,個人認(rèn)為terminal終端使用起來較不方便。操作步驟:系統(tǒng)-》管理-》添加/刪除軟件???????????????????????
?
在查找欄輸入“Open”點(diǎn)擊查找,出來很多Open選項,找到關(guān)于Open JDK 相關(guān)的全部打勾,記得好像是3個,點(diǎn)擊應(yīng)用則刪除了。???????????????????????
?
安裝SUN JDK:
- 下載CentOS可用的JDK版本,由于CentOS的安裝程序以“*.rpm”結(jié)尾,因此在“Oracle”公司下載linux x86(x64)視系統(tǒng)版本,選擇下載64位或32位,并且以“*.rpm”結(jié)尾的文件;具體地址:??????????????????????? ? http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1637583.html
下載后直接雙擊安裝,安裝是傻瓜化的結(jié)束之后設(shè)置環(huán)境變量相關(guān)的信息,如下步驟:???????????????????????
?
在/etc/profile文件末尾添加內(nèi)容如下:???????????????????????????
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???????????????????????????????????????
運(yùn)行: 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安裝完畢
- 至jBoss下載jBoss AS 7.1.1 final( http://www.jboss.org/jbossas/downloads/ )
解壓,將其文件夾放到/usr下面
運(yùn)行/usr/jboss-as-7.1.1.Final/bin下的standalone.sh
此時在linux火狐瀏覽器下輸入地址: http://127.0.0.1:8080/
可以看到j(luò)boss運(yùn)行的頁面
但此時,同一局域網(wǎng)的其它用戶卻不能訪問您的jboss服務(wù)器。
?
需要做如下2個設(shè)置:
1.系統(tǒng)防火墻的設(shè)置 系統(tǒng)-》管理-》防火墻,選擇可信接口,選擇右邊的eth+(網(wǎng)卡)打勾,最后點(diǎn)擊應(yīng)用。
2.jBoss配置文件設(shè)置 /usr/jboss-as-7.1.1Final/standalone/configuration 打開standalone.xml文件。
修改此節(jié)點(diǎn)address內(nèi)容
<interfaces>
<interface name="public">
<inet-address value="${jboss.bind.address:0.0.0.0}"/>
</interface>
</interfaces>
OK,重新啟一下CentOS,直接運(yùn)行standalone.sh吧;結(jié)束了。。。
作者:小四(tony.wang),轉(zhuǎn)載時請保留出處。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

