原文:
http://www.ufgov.com.cn/support/viewDetail.asp?id=677(用友政務(wù)技術(shù)支持部(LZY))
一、設置控制臺登錄窗口
<br>安裝好jboss并啟動(dòng)jboss后,在瀏覽器窗口的地址欄里鍵入
http://localhost:8080/jmx-consolehttp://localhost:8080/jmx-console就可以瀏覽jboss的部署管理的一些信息,默認情況下不鍵入任何用戶(hù)名和密碼就可以進(jìn)入此頁(yè)面, 方便是方便,但真正使用起來(lái)還是有點(diǎn)安全隱患,因為不管任何人只要知道server的ip 都可以進(jìn)去訪(fǎng)問(wèn)。下面我們針對此問(wèn)題對jboss進(jìn)行配置,使得訪(fǎng)問(wèn)jmx-console也必須 要知道用戶(hù)名和密碼才可進(jìn)去訪(fǎng)問(wèn).
步驟:
1. 進(jìn)入jmx-console.war,通常此目錄在{jboss_home}\server\default\deploy目錄下。
2. 編輯該目錄下的WEB-INF\web.xml,把<security-constraint>部分注釋去掉
3. 編輯該目錄下的WEB-INF\classes的roles.properties和users.properties;其中
1) users.properties文件里定義用戶(hù)名和密碼,格式為username=password。當然,可以依 照此格式添加多個(gè)用戶(hù)。
2) roles.propertie文件里定義用戶(hù)名和角色,格式為username=role。這里的role必須和web.xml文件里的<role-name>相對應。
4. 編輯WEB-INF\jboss-web.xml文件,打開(kāi)<security-domain>部分注釋?zhuān)贿@里<security-domain>內容對應的security-domain對應{jboss_home}\server\default\conf\login-config.xml這個(gè)jaas配置文件里的某個(gè)application-policy。
如:
<security-domain>java:/jaas/jmx-console</security-domain>
在login-config.xml里對應有:
<application-policy name = "jmx-console">
<authentication>
<login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"
flag = "required" />
</authentication>
</application-policy>
5.Ok!一切大功告成!重啟jboss,就會(huì )出現你想要的輸入username和password的 窗口
二、啟動(dòng)與關(guān)閉JBOSS應用服務(wù)器:
1. 啟動(dòng)JBOSS應用服務(wù)器:
l 雙擊桌面快捷方式。
l 打開(kāi)命令行窗口,進(jìn)入 %JBOSS_HOME%\bin,鍵入 run ,回車(chē)。
2.關(guān)閉JBOSS應用服務(wù)器:
l 直接關(guān)閉JBOSS應用服務(wù)器;
l 另外打開(kāi)一個(gè)命令行窗口,進(jìn)入%JBOSS_HOME%\bin,鍵入shutdown ?username=用戶(hù)名 -password=密碼,回車(chē)。
三、修改JBOSS應用服務(wù)器連接的數據庫和端口:
1.在jboss?jboss-3.x---server---default---deploy下,mssql-service.xml文件中:
<config-property name=“ConnectionURL” type=“java.lang.String”>
jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind
</config-property>
<config-property name=“UserName” type=“java.lang.String”>sa</config-property>
<config-property name=“Password” type=“java.lang.String”>1</config-property>
其中:
①jdbc:microsoft:sqlserver://localhost:1433: SQL2000端口是1433,如果數據庫和WEB服務(wù)器分裝于不同的機器,那么localhost要改成數據庫服務(wù)器的ip地址;
②DatabaseName=Northwind: 數據庫是Northwind,可以修改成另一個(gè)數據庫;
③<config-property name=“UserName” ype=“java.lang.String”>sa</config-property>
使用數據庫的用戶(hù)名sa
④<config-propertyname=“Password”type=“java.lang.String”>1</config-property>
與用戶(hù)名sa對應的密碼:1
注:當我們的數據庫、用戶(hù)名或密碼修改后,可在mssql-service.xml修改相應的項即可。
2. 使用JBOSS中間件時(shí),默認的訪(fǎng)問(wèn)端口是8080.如何修改?
打開(kāi)JBOSS目錄-->jboss-3.0.8-->server-->default-->deploy-->jbossweb.sar-->meta-inf下的jboss-service.xml文件,搜索8080,將8080改為新的端口號,保存文件,重啟應用服務(wù)器即可.訪(fǎng)問(wèn)時(shí)使用新的端口號.
<Call name="addListener">
<Arg>
<New class="org.mortbay.http.SocketListener">
<Set name="Port"><SystemProperty name="jetty.port" fault="8000"/></Set>
<Set name="MinThreads">10</Set>
<Set name="MaxThreads">100</Set>
<Set name="MaxIdleTimeMs">30000</Set>
<Set name="LowResourcePersistTimeMs">5000</Set>
</New>
</Arg>
</Call>
四、其它設置
1.WAR文件的部署
JBoss支持熱部署,也就是war文件部署到服務(wù)器上后不需要重新啟動(dòng)JBoss(Tomcat不支這種特性)。war文件的部署很簡(jiǎn)單,直接將war文件拷貝到JBoss\server\default\deploy目錄下即可。
2.JBoss的目錄結構
bin:改目錄包含各種腳本文件以及相關(guān)文件,前面已經(jīng)用過(guò)run.bat和shutdown.bat兩個(gè)批處理文件。
client:存儲配置信息和可能被Java客戶(hù)端應用程序或外部Web容器用到的jar文件。
docs:保存在JBoss中引用到的XML文件和DTD文件(這里也提供了在JBoss中如何寫(xiě)配置文件的例子)。該目錄下有針對不通的數據庫(如MySql、Oracle、SQL Server、Postgres等)配置數據源的JCA配置文件。
lib:這里存儲運行JBoss微內核所需的jar文件。該目錄下不要存儲任何你自己的jar文件。
server:這里的每一個(gè)子目錄對應著(zhù)一個(gè)服務(wù)器配置。該配置由運行腳本文件時(shí)的參數"-c <配置名稱(chēng)>"來(lái)確定。在server目錄下有三個(gè)配置例子,即all、default和minimal,每一個(gè)配置安裝的服務(wù)都不一樣。其中default下是缺省配置。
minimal:僅加載啟動(dòng)JBoss所需的最少服務(wù),如日志服務(wù)、JNDI和URL部署掃描器(發(fā)現新的部署),不包含Web容器、EJB和JMS。
all:?jiǎn)?dòng)所有的服務(wù),包括RMI/IIOP、集群服務(wù)和Web服務(wù)部署器(默認配置不會(huì )被加載)。
啟動(dòng)JBoss時(shí),如果run.bat不帶任何參數,則使用的配置是server/default目錄下的配置。如果要以其它目錄下的配置啟動(dòng)JBoss,可以使用如下參數:
run -c all
上述命令將以all目錄下的配置信息啟動(dòng)JBoss。也可以在server目錄下新建目錄,按自己的需要寫(xiě)配置文件。
下面以default目錄為例,介紹服務(wù)器配置的目錄結構。
conf:該目錄下有指定核心服務(wù)的jboss-service.xml文件,也可以放其它服務(wù)配置的文件。
data:該目錄是JBoss內置的數據庫Hypersonic存儲數據的地方,也是JBossMQ(the JBoss implementation of JMS)存儲相關(guān)信息的地方。
deploy:這是部署J2EE應用程序(jar、war和ear文件)的位置,只需將相應文件拷貝到該目錄下即可。該目錄也用來(lái)熱部署服務(wù)和JCA資源適配器。已經(jīng)有一些服務(wù)部署到這個(gè)目錄了,如jmx-console,你啟動(dòng)JBoss后即可訪(fǎng)問(wèn)。JBoss會(huì )周期性的掃描deploy目錄,當有任何組件改變,JBoss會(huì )重新部署該程序。
lib:存放服務(wù)器配置所需的jar文件,比如,你可以將JDBC驅動(dòng)程序放在該目錄下。
log:存放日志信息。JBoss使用Jakarta log4j包存儲日志,在程序中你也可以直接使用該信息。
tmp:存儲在部署過(guò)程中解壓時(shí)產(chǎn)生的臨時(shí)文件。
work:Tomcat編譯JSP文件時(shí)的工作目錄。
目錄data、log、tmp和work在JBoss安裝后并不存在,當JBoss運行時(shí)自動(dòng)建立。
另外,連接數據庫所用到的JDBC驅動(dòng)程序要拷貝到JBoss_HOME\server\default\lib目錄下。
3. JBoss中的部署
JBoss中的部署過(guò)程非常的簡(jiǎn)單、直接并且支持熱部署。在每一個(gè)配置中,JBoss不斷的掃描一個(gè)特殊的目錄的變化:$JBOSS_HOME/server/config-name/deploy。
你可以把下列文件拷貝到此目錄下:
* 任何jar庫(其中的類(lèi)將被自動(dòng)添加到JBoss的classpath中)
* EJB JAR
* WAR (Web Appliction aRrchive) 注意默認情況下context為war名稱(chēng).
* EAR (Enterprise Application aRchive)
* 包含JBoss MBean定義的XML文件
* 一個(gè)包含EJB JAR、WAR或者EAR的解壓縮內容,并以.jar、.war或者.ear結尾的目錄。
附:如果你想要定義自己的服務(wù)器目錄配置,可參照如下步驟:
根據JBOSS文檔,我們可知道,實(shí)際上配置一個(gè)Server僅僅只需要將Default目錄下所有文件拷到一個(gè)新目錄下并重命名就可以了,同時(shí)修改相應的一些文件中的參數就可以了。做如下約定:
1、 重新指定一個(gè)run.bat快捷方式 runJwfm.bat
復制一份<JBOSS_HOME>/BIN目錄下的run.bat,并修改
"%JAVA%" %JAVA_OPTS% -classpath "%JBOSS_CLASSPATH%" org.jboss.Main %*為
"%JAVA%" %JAVA_OPTS% -classpath "%JBOSS_CLASSPATH%" org.jboss.Main ?c jwfm %*
2、修改相應參數文件
<JBoss_Home>/Server/jwfm/conf 目錄下文件jboss-service.xml修改動(dòng)態(tài)部署時(shí)間:
<attribute name="ScanPeriod">5000</attribute> 將5000調整到800,特穩定后調回5000