一. ???????????? 下載與安裝 JBoss
在本文中,我們下載的 JBoss 版本為: 4.2.1.GA 。
下載地址:
http://sourceforge.net/project/showfiles.php?group_id=22866&package_id=16942&release_id=523619
在如上的下載頁中下載 JBoss-4.2.1.GA.zip 文件。
下載完成后,將其解壓縮后即可完成安裝,解壓縮后將其放置到一個不帶空格的目錄
(
若目錄帶有空格,例如:
C:"Program Files
,日后可能會產生一些莫名的錯誤
)
,
eg
:
E:"JBoss4.2.1
。同時在“環境變量設置”中設置名為
JBOSS_HOME
的環境變量,值為
JBoss
的安裝路徑,如下圖所示:
在此, JBoss 的安裝工作已經結束,可通過如下方式測試安裝是否成功:
運行 JBoss 安裝目錄 "bin"run.bat ,如果窗口中沒有出現異常,且出現: 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 字樣,則表示安裝成功。
我們可以通過訪問: http://localhost:8080 進入 JBoss 的歡迎界面,點擊 JBoss Management 下的 JMX Console 可進入 JBoss 的控制臺。
若啟動失敗,可能由以下原因引起:
1) ????????????? JBoss 所用的端口( 8080 , 1099 , 1098 , 8083 等)被占用。一般情況下為 8080 端口被占用(例如, Oracle 占用了 8080 端口),此時需要修改 JBoss 的端口,方法為進入 JBoss 安裝目錄 "server"default"deploy"jboss-web.deployer 目錄,修改其下的 server.xml 目錄,在此文件中搜索 8080 ,將其改成你想要的端口即可(例如 8088 );
2) ????????????? JDK 安裝不正確;
3) ????????????? JBoss 下載不完全。
二. ???????????? JBoss 的目錄結構說明
目錄 |
描述 |
bin |
啟動和關閉 JBoss 的腳本( run.bat 為 windows 系統下的啟動腳本, shutdown.bat 為 windows 系統下的關閉腳本)。 |
client |
客戶端與 JBoss 通信所需的 Java 庫( JARs )。 |
docs |
配置的樣本文件(數據庫配置等)。 |
docs/dtd |
在 JBoss 中使用的各種 XML 文件的 DTD 。 |
lib |
一些 JAR , JBoss 啟動時加載,且被所有 JBoss 配置共享。(不要把你的庫放在這里) |
server? |
各種 JBoss 配置。每個配置必須放在不同的子目錄。子目錄的名字表示配置的名字。 JBoss 包含 3 個默認的配置: minimial , default 和 all ,在你安裝時可以進行選擇。 |
server/all |
JBoss 的完全配置,啟動所有服務,包括集群和 IIOP 。 |
server/default |
JBoss 的默認配置。在沒有在 JBoss 命令行中指定配置名稱時使用。 ( 我們下載的 4.2.1 版本默認采用此配置 )? 。 |
server/default/conf? |
JBoss 的配置文件。 |
server/default/data |
JBoss 的數據庫文件。比如,嵌入的數據庫,或者 JBossMQ |
server/default /deploy |
JBoss 的熱部署目錄。放到這里的任何文件或目錄會被 JBoss 自動部署。 EJB 、 WAR 、 EAR ,甚至服務。 |
server/default /lib |
一些 JAR , JBoss 在啟動特定配置時加載他們。 (default 和 minimial 配置也包含這個和下面兩個目錄。 )? |
server/default/log |
JBoss 的日志文件。 |
server/default/tmp |
JBoss 的臨時文件。 |
三. ???????????? JBoss 的配置
1. ?????? 日志文件設置
若需要修改 JBoss 默認的 log4j 設置,可修改 JBoss 安裝目錄 "server"default"conf 下的 jboss-log4j.xml 文件,在該文件中可以看到, log4j 的日志輸出在 JBoss 安裝目錄 "server"default"log 下的 server.log 文件中。對于 log4j 的設置,讀者可以在網上搜索更加詳細的信息。
2. ?????? web 服務的端口號的修改
這點在前文中有所提及,即修改 JBoss 安裝目錄 "server"default"deploy"jboss-web.deployer 下的 server.xml 文件,內容如下:
<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 端口修改為你想要的端口即可。重新啟動 JBoss 后訪問: http://localhost : 新設置的端口,可看到 JBoss 的歡迎界面。
3. ?????? JBoss 的安全設置
1) jmx-console 登錄的用戶名和密碼設置
i) 找到 JBoss 安裝目錄 /server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml 文件,去掉 <security-domain>java:/jaas/jmx-console</security-domain> 的注釋。修改后的該文件內容為:
<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 同級目錄下的 web.xml 文件,查找到 < security-constraint/> 節點,去掉它的注釋,修改后該部分內容為:
<!-- 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 安全域和第二步中的運行角色 JBossAdmin 都是在 login-config.xml 中配置,我們在 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 文件中設置,分別打開這兩個文件。
其中 jmx-console-users.properties 文件的內容如下:
# A sample users.properties file for use with the UsersRolesLoginModule
admin=admin
該文件定義的格式為:用戶名 = 密碼,在該文件中,默認定義了一個用戶名為 admin ,密碼也為 admin 的用戶,讀者可將其改成所需的用戶名和密碼。
jmx-console-roles.properties 的內容如下:
# A sample roles.properties file for use with the UsersRolesLoginModule
admin=JBossAdmin, HttpInvoker
該文件定義的格式為:用戶名 = 角色,多個角色以“ , ”隔開,該文件默認為 admin 用戶定義了 JBossAdmin 和 HttpInvoker 這兩個角色。
配置完成后讀者可以通過訪問: http://localhost:8088/jmx-console/ ,輸入 jmx-console-roles.properties 文件中定義的用戶名和密碼,訪問 jmx-console 的頁面。
2) web-console 登錄的用戶名和密碼設置
默認情況下,用戶訪問 JBoss 的 web-console 時,不需要輸入用戶名和密碼,為了安全起見,我們通過修改配置來為其加上用戶名和密碼。步驟如下:
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> 的注釋,修改后的文件內容為:
<?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 )打開 i )中 jboss-web.xml 同目錄下的 web.xml 文件,去掉 <security-constraint> 部分的注釋,修改后的該部分內容為:
<!-- 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 )打開 JBoss 安裝目錄 "server"default"conf 下的 login-config.xml 文件,搜索 web-console ,可找到如下內容:
<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>
在文件中可以看到,設置登錄 web-console 的用戶名和角色等信息分別在 login-config.xml 文件所在目錄下的 web-console-users.properties 和 web-console-roles.properties 文件中,但因為該目錄下無這兩個文件,我們在 JBoss 安裝目錄 "server"default"conf"props 目錄下建立這兩個文件,文件內容可參考在“ jmx-console 登錄的用戶名和密碼設置” 中的兩個相應的配置文件的內容, web-console-users.properties 文件的內容如下:
# A sample users.properties file for use with the UsersRolesLoginModule
admin=admin
web-console-roles.properties 文件的內容如下:
# A sample roles.properties file for use with the UsersRolesLoginModule
admin=JBossAdmin,HttpInvoker
因為此時這兩個文件不與 login-config.xml 同目錄,所以 login-config.xml 文件需進行少許修改,修改后的 <application-policy name = "web-console"> 元素的內容為:
<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
進入
Window-> Preferences-> MyEclipse -> Application Servers -> JBoss4
,進行如下設置:
????
選擇 JBoss 4 下的 JDK 設置所用的 JDK.
設置完成后,部署程序時,會發現多出
JBoss 4
部署的選擇,如下圖所示:
同時在
中展開,可看到
JBoss 4
的啟動圖標。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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