在本文中,我們下載的 JBoss 版本為: 4.2.1.GA 。
下載地址:
在如上的下載頁(yè)中下載 JBoss-4.2.1.GA.zip 文件。
下載完成后,將其解壓縮后即可完成安裝,解壓縮后將其放置到一個(gè)不帶空格的目錄
(
若目錄帶有空格,例如:
C:"Program Files
,日后可能會(huì)產(chǎn)生一些莫名的錯(cuò)誤
)
,
eg
:
E:"JBoss4.2.1
。同時(shí)在“環(huán)境變量設(shè)置”中設(shè)置名為
JBOSS_HOME
的環(huán)境變量,值為
JBoss
的安裝路徑,如下圖所示:
在此, JBoss 的安裝工作已經(jīng)結(jié)束,可通過(guò)如下方式測(cè)試安裝是否成功:
運(yùn)行 JBoss 安裝目錄 "bin"run.bat ,如果窗口中沒(méi)有出現(xiàn)異常,且出現(xiàn): 10:16:19,765 INFO?[Server] JBoss (MX MicroKernel) [4.2.1.GA (build: SVNTag=JBoss_4_2_1_GA date=200707131605)] Started in 30s:828ms 字樣,則表示安裝成功。
我們可以通過(guò)訪問(wèn): http://localhost:8080/ 進(jìn)入 JBoss 的歡迎界面,點(diǎn)擊 JBoss Management 下的 JMX Console 可進(jìn)入 JBoss 的控制臺(tái)。
若啟動(dòng)失敗,可能由以下原因引起:
1) ????????????? JBoss 所用的端口( 8080 , 1099 , 1098 , 8083 等)被占用。一般情況下為 8080 端口被占用(例如, Oracle 占用了 8080 端口),此時(shí)需要修改 JBoss 的端口,方法為進(jìn)入 JBoss 安裝目錄 "server"default"deploy"jboss-web.deployer 目錄,修改其下的 server.xml 目錄,在此文件中搜索 8080 ,將其改成你想要的端口即可(例如 8088 );
2) ????????????? JDK 安裝不正確;
3) ????????????? JBoss 下載不完全。
二. ???????????? JBoss 的目錄結(jié)構(gòu)說(shuō)明
目錄 |
描述 |
bin |
啟動(dòng)和關(guān)閉 JBoss 的腳本( run.bat 為 windows 系統(tǒng)下的啟動(dòng)腳本, shutdown.bat 為 windows 系統(tǒng)下的關(guān)閉腳本)。 |
client |
客戶端與 JBoss 通信所需的 Java 庫(kù)( JARs )。 |
docs |
配置的樣本文件(數(shù)據(jù)庫(kù)配置等)。 |
docs/dtd |
在 JBoss 中使用的各種 XML 文件的 DTD 。 |
lib |
一些 JAR , JBoss 啟動(dòng)時(shí)加載,且被所有 JBoss 配置共享。(不要把你的庫(kù)放在這里) |
server? |
各種 JBoss 配置。每個(gè)配置必須放在不同的子目錄。子目錄的名字表示配置的名字。 JBoss 包含 3 個(gè)默認(rèn)的配置: minimial , default 和 all ,在你安裝時(shí)可以進(jìn)行選擇。 |
server/all |
JBoss 的完全配置,啟動(dòng)所有服務(wù),包括集群和 IIOP 。 |
server/default |
JBoss 的默認(rèn)配置。在沒(méi)有在 JBoss 命令行中指定配置名稱時(shí)使用。 ( 我們下載的 4.2.1 版本默認(rèn)采用此配置 )? 。 |
server/default/conf? |
JBoss 的配置文件。 |
server/default/data |
JBoss 的數(shù)據(jù)庫(kù)文件。比如,嵌入的數(shù)據(jù)庫(kù),或者 JBossMQ |
server/default /deploy |
JBoss 的熱部署目錄。放到這里的任何文件或目錄會(huì)被 JBoss 自動(dòng)部署。 EJB 、 WAR 、 EAR ,甚至服務(wù)。 |
server/default /lib |
一些 JAR , JBoss 在啟動(dòng)特定配置時(shí)加載他們。 (default 和 minimial 配置也包含這個(gè)和下面兩個(gè)目錄。 )? |
server/default/log |
JBoss 的日志文件。 |
server/default/tmp |
JBoss 的臨時(shí)文件。 |
三. ???????????? JBoss 的配置
1. ?????? 日志文件設(shè)置
若需要修改 JBoss 默認(rèn)的 log4j 設(shè)置,可修改 JBoss 安裝目錄 "server"default"conf 下的 jboss-log4j.xml 文件,在該文件中可以看到, log4j 的日志輸出在 JBoss 安裝目錄 "server"default"log 下的 server.log 文件中。對(duì)于 log4j 的設(shè)置,讀者可以在網(wǎng)上搜索更加詳細(xì)的信息。
2. ?????? web 服務(wù)的端口號(hào)的修改
這點(diǎn)在前文中有所提及,即修改 JBoss 安裝目錄 "server"default"deploy"jboss-web.deployer 下的 server.xml 文件,內(nèi)容如下:
<Connector port="8080" address="${jboss.bind.address}"???
???????? maxThreads="250" maxHttpHeaderSize="8192"
???????? emptySessionPath="true" protocol="HTTP/1.1"
???????? enableLookups="false" redirectPort="8443" acceptCount="100"
???????? connectionTimeout="20000" disableUploadTimeout="true" />
將上面的 8080 端口修改為你想要的端口即可。重新啟動(dòng) JBoss 后訪問(wèn): http://localhost/ : 新設(shè)置的端口,可看到 JBoss 的歡迎界面。
3. ?????? JBoss 的安全設(shè)置
1) jmx-console 登錄的用戶名和密碼設(shè)置
默認(rèn)情況訪問(wèn) http://localhost:8080/jmx-console 就可以瀏覽 jboss 的部署管理的一些信息,不需要輸入用戶名和密碼,使用起來(lái)有點(diǎn)安全隱患。下面我們針對(duì)此問(wèn)題對(duì) jboss 進(jìn)行配置,使得訪問(wèn) jmx-console 也必須要知道用戶名和密碼才可進(jìn)去訪問(wèn)。步驟如下:
i) 找到 JBoss 安裝目錄 /server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml 文件,去掉 <security-domain>java:/jaas/jmx-console</security-domain> 的注釋。修改后的該文件內(nèi)容為:
<jboss-web>
?? <!-- Uncomment the security-domain to enable security. You will
????? need to edit the htmladaptor login configuration to setup the
????? login modules used to authentication users.-->
????? <security-domain>java:/jaas/jmx-console</security-domain>
</jboss-web>
ii )修改與 i )中的 jboss-web.xml 同級(jí)目錄下的 web.xml 文件,查找到 < security-constraint/> 節(jié)點(diǎn),去掉它的注釋,修改后該部分內(nèi)容為:
<!-- A security constraint that restricts access to the HTML JMX console
?? to users with the role JBossAdmin. Edit the roles to what you want and
?? uncomment the WEB-INF/jboss-web.xml/security-domain element to enable
?? secured access to the HTML JMX console.-->
?? <security-constraint>
???? <web-resource-collection>
?????? <web-resource-name>HtmlAdaptor</web-resource-name>
?????? <description>An example security config that only allows users with the
???????? role JBossAdmin to access the HTML JMX console web application
?????? </description>
?????? <url-pattern>/*</url-pattern>
?????? <http-method>GET</http-method>
?????? <http-method>POST</http-method>
???? </web-resource-collection>
???? <auth-constraint>
?????? <role-name>JBossAdmin</role-name>
???? </auth-constraint>
?? </security-constraint>
?? 在此處可以看出,為登錄配置了角色 JBossAdmin 。
?iii ) ? 在第一步中的 jmx-console 安全域和第二步中的運(yùn)行角色 JBossAdmin 都是在 login-config.xml 中配置,我們?cè)? JBoss 安裝目錄 /server/default/config 下找到它。查找名字為: jmx-console 的 application-policy :
<application-policy name = "jmx-console">
?????? <authentication>
????????? <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"
???????????? flag = "required">
?????????? <module-option name="usersProperties">props/jmx-console-users.properties</module-option>
?????????? <module-option name="rolesProperties">props/jmx-console-roles.properties</module-option>
????????? </login-module>
?????? </authentication>
??? </application-policy>
在此處可以看出,登錄的角色、用戶等的信息分別在 props 目錄下的 jmx-console-roles.properties 和 jmx-console-users.properties 文件中設(shè)置,分別打開(kāi)這兩個(gè)文件。
其中 jmx-console-users.properties 文件的內(nèi)容如下:
# A sample users.properties file for use with the UsersRolesLoginModule
admin=admin
該文件定義的格式為:用戶名 = 密碼,在該文件中,默認(rèn)定義了一個(gè)用戶名為 admin ,密碼也為 admin 的用戶,讀者可將其改成所需的用戶名和密碼。
jmx-console-roles.properties 的內(nèi)容如下:
# A sample roles.properties file for use with the UsersRolesLoginModule
admin=JBossAdmin, HttpInvoker
該文件定義的格式為:用戶名 = 角色,多個(gè)角色以“ , ”隔開(kāi),該文件默認(rèn)為 admin 用戶定義了 JBossAdmin 和 HttpInvoker 這兩個(gè)角色。
配置完成后讀者可以通過(guò)訪問(wèn): http://localhost:8088/jmx-console/ ,輸入 jmx-console-roles.properties 文件中定義的用戶名和密碼,訪問(wèn) jmx-console 的頁(yè)面。
2) web-console 登錄的用戶名和密碼設(shè)置
默認(rèn)情況下,用戶訪問(wèn) JBoss 的 web-console 時(shí),不需要輸入用戶名和密碼,為了安全起見(jiàn),我們通過(guò)修改配置來(lái)為其加上用戶名和密碼。步驟如下:
i )找到 JBoss 安裝目錄 "server"default"deploy"management"console-mgr.sar"web-console.war"WEB-INF"jboss-web.xml 文件,去掉 <security-domain>java:/jaas/web-console</security-domain> 的注釋,修改后的文件內(nèi)容為:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE jboss-web
??? PUBLIC "-//JBoss//DTD Web Application 2.3V2//EN"
??? "http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd">
<jboss-web>
?? <!-- Uncomment the security-domain to enable security. You will
?? need to edit the htmladaptor login configuration to setup the
?? login modules used to authentication users.-->
?? <security-domain>java:/jaas/web-console</security-domain>
?? <!-- The war depends on the -->
?? <depends>jboss.admin:service=PluginManager</depends>
</jboss-web>
ii )打開(kāi) i )中 jboss-web.xml 同目錄下的 web.xml 文件,去掉 <security-constraint> 部分的注釋,修改后的該部分內(nèi)容為:
<!-- A security constraint that restricts access to the HTML JMX console
?? to users with the role JBossAdmin. Edit the roles to what you want and
?? uncomment the WEB-INF/jboss-web.xml/security-domain element to enable
?? secured access to the HTML JMX console.-->
?? <security-constraint>
?? <web-resource-collection>
?? <web-resource-name>HtmlAdaptor</web-resource-name>
?? <description>An example security config that only allows users with the
?? role JBossAdmin to access the HTML JMX console web application
?? </description>
?? <url-pattern>/*</url-pattern>
?? <http-method>GET</http-method>
?? <http-method>POST</http-method>
?? </web-resource-collection>
?? <auth-constraint>
?? <role-name>JBossAdmin</role-name>
?? </auth-constraint>
?? </security-constraint>
iii )打開(kāi) JBoss 安裝目錄 "server"default"conf 下的 login-config.xml 文件,搜索 web-console ,可找到如下內(nèi)容:
<application-policy name = "web-console">
?????? <authentication>
????????? <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"
?? ??????????flag = "required">
???????????? <module-option name="usersProperties">web-console-users.properties</module-option>
???????????? <module-option name="rolesProperties">web-console-roles.properties</module-option>
????????? </login-module>
?????? </authentication>
??? </application-policy>
在文件中可以看到,設(shè)置登錄 web-console 的用戶名和角色等信息分別在 login-config.xml 文件所在目錄下的 web-console-users.properties 和 web-console-roles.properties 文件中,但因?yàn)樵撃夸浵聼o(wú)這兩個(gè)文件,我們?cè)? JBoss 安裝目錄 "server"default"conf"props 目錄下建立這兩個(gè)文件,文件內(nèi)容可參考在“ jmx-console 登錄的用戶名和密碼設(shè)置” 中的兩個(gè)相應(yīng)的配置文件的內(nèi)容, web-console-users.properties 文件的內(nèi)容如下:
# A sample users.properties file for use with the UsersRolesLoginModule
admin=admin
web-console-roles.properties 文件的內(nèi)容如下:
# A sample roles.properties file for use with the UsersRolesLoginModule
admin=JBossAdmin,HttpInvoker
因?yàn)榇藭r(shí)這兩個(gè)文件不與 login-config.xml 同目錄,所以 login-config.xml 文件需進(jìn)行少許修改,修改后的 <application-policy name = "web-console"> 元素的內(nèi)容為:
<application-policy name = "web-console">
?????? <authentication>
????????? <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"
???????????? flag = "required">
???????????? <module-option name="usersProperties">props/web-console-users.properties</module-option>
???????????? <module-option name="rolesProperties">props/web-console-roles.properties</module-option>
????????? </login-module>
?????? </authentication>
??? </application-policy>
四. ???????????? 在 MyEclipse 中配置 JBoss
筆者的 MyEclipse 版本: 5.1.1 GA
JBoss 版本: 4.2.1 GA
JDK 版本: 1.5
進(jìn)入
Window-> Preferences-> MyEclipse -> Application Servers -> JBoss4
,進(jìn)行如下設(shè)置:
????
選擇 JBoss 4 下的 JDK 設(shè)置所用的 JDK.
設(shè)置完成后,部署程序時(shí),會(huì)發(fā)現(xiàn)多出
JBoss 4
部署的選擇,如下圖所示:
同時(shí)在
中展開(kāi),可看到
JBoss 4
的啟動(dòng)圖標(biāo)。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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