背景
由于工作需要,現有的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:
- 下載CentOS可用的JDK版本,由于CentOS的安裝程序以“*.rpm”結尾,因此在“Oracle”公司下載linux x86(x64)視系統版本,選擇下載64位或32位,并且以“*.rpm”結尾的文件;具體地址:??????????????????????? ? http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1637583.html
下載后直接雙擊安裝,安裝是傻瓜化的結束之后設置環境變量相關的信息,如下步驟:???????????????????????
?
在/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安裝完畢
- 至jBoss下載jBoss AS 7.1.1 final( http://www.jboss.org/jbossas/downloads/ )
解壓,將其文件夾放到/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),轉載時請保留出處。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
