1.JBOSS服務(wù)的啟動(dòng)與關(guān)閉
1.1 確認(rèn)JDK安裝配置
在啟動(dòng)JBOSS節(jié)點(diǎn)前,要正確安裝SUN JDK1.5
并設(shè)置環(huán)境變量$JAVA_HOME
解壓縮JBOOS-TGZ包
1.2 運(yùn)行JBOSS
cd $JBOSS_HOME/bin
nohup ./run.sh -c vcom -b 0.0.0.0 –u 229.12.12.12&
參數(shù)說(shuō)明:
-c: 指定運(yùn)行的配置,default配置不帶集群支持,all 和自定義的vcom目錄配置帶有集群支持功能
-b: 指定服務(wù)綁定的IP地址,即對(duì)外服務(wù)的IP地址,0.0.0.0表示對(duì)機(jī)器上所有的IP提供服務(wù)
-u 指定服務(wù)使用的UDP組播地址
1.3 關(guān)閉JBOSS服務(wù)
編寫(xiě)腳本內(nèi)容如下:
#!/bin/bash
for i in ` ps -ef | grep -w java |grep -v grep |awk '{print $2 ""t"$3}'`;do kill -9 $i
done
2.jmx-console控制臺(tái)
安裝好jboss并啟動(dòng)jboss后,在瀏覽器窗口的地址欄里鍵入 http://localhost:8080/jmx-console(jboss默認(rèn)的端口號(hào)為8080,可以自定義修改)。就可以瀏覽 jboss的部署管理的一些信息,默認(rèn)情況下不鍵入任何用戶名和密碼就可以進(jìn)入此頁(yè)面,方便是方便,但真正使用起來(lái)還是有點(diǎn)安全隱患,因?yàn)椴还苋魏稳酥灰纒erver的ip 都可以進(jìn)去訪問(wèn)。下面我們針對(duì)此問(wèn)題對(duì)jboss進(jìn)行配置,使得訪問(wèn)jmx-console也必須 要知道用戶名和密碼才可進(jìn)去訪問(wèn).
2.1 設(shè)置jmx-console安全設(shè)置
1. 進(jìn)入jmx-console.war,通常此目錄在$JBOSS_HOME/server/vcom/deploy目錄下。
2. 編輯該目錄下的/WEB-INF/web.xml,把<security-constraint>部分注釋去掉 3.編輯$jboss_home/server/vcom/conf/props目錄下的jmx-console-roles.properties和jmx-console-users.properties;
1) users.properties文件里定義用戶名和密碼,格式為username=password。可以依照此格式添加多個(gè)用戶。
2) roles.propertie文件里定義用戶名和角色,格式為username=role。這里的role必須和web.xml文件里的<role-name>相對(duì)應(yīng)。
4. 編輯/WEB-INF/jboss-web.xml文件,打開(kāi)<security-domain>部分注釋;這里<security- domain>內(nèi)容對(duì)應(yīng)的security-domain對(duì)應(yīng)$jboss_home"server"vcom"conf"login-config.xml這個(gè)jaas配置文件里的某個(gè)application-policy。
如:
<security-domain>java:/jaas/jmx-console</security-domain>
在login-config.xml里對(duì)應(yīng)有:
<application-policy name = "jmx-console">
<authentication>
<login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" flag = "required" />
</authentication>
</application-policy>
5.重啟jboss,在瀏覽器中鍵入控制臺(tái)地址,就會(huì)出現(xiàn)輸入username和password的提示窗口。
2.2 監(jiān)控集群狀況和session復(fù)制情況
使用http://localhost:8080/jmx-console,使用名為jboss.cache:service=TomcatClustering MBean Members可以查看當(dāng)前機(jī)群節(jié)點(diǎn)成員信息,使用jboss.cache:service=TomcatClustering,可以看到當(dāng)前集群的節(jié)點(diǎn)ip,在member 一項(xiàng)中,可以觀察到當(dāng)前集群中節(jié)點(diǎn)ip,如圖:
在此頁(yè)面下找到java.lang.String printDetails() ,
invoke the printDetails操作,點(diǎn)擊invoke,可以對(duì)session復(fù)制進(jìn)行監(jiān)控。
3、配置JBOSS應(yīng)用數(shù)據(jù)庫(kù)連接
目前應(yīng)用使用的數(shù)據(jù)庫(kù)連接是應(yīng)用程序自帶的JDBC (API)接口,配置如下:
Cd /$JBOSS_HOME/server/vcom/deploy/*.war/WEB-INF/class/
Vi proxool.xml
<?xml version="1.0" encoding="UTF-8"?>
<datasource>
<proxool>
<alias>pool</alias>
<driver-url>jdbc:oracle:thin:@192.168.104.32:1521:cportal</driver-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<driver-properties>
<property name="user" value="cportal"/>
<property name="password" value="cportal"/>
</driver-properties>
<house-keeping-sleep-time>30000</house-keeping-sleep-time>
<minimum-connection-count>0</minimum-connection-count>
<maximum-connection-count>300</maximum-connection-count>
<house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
</proxool>
</datasource>
(1) jdbc:oracle:thin:@192.168.104.32:1521:cportal,oracle服務(wù)端口是1521,cportal為數(shù)據(jù)庫(kù)的實(shí)例名即sid。
(2) <property name="user" value="cportal"/>
<property name="password" value="cportal"/> 為數(shù)據(jù)庫(kù)的用戶名和密碼
(3)<maximum-connection-count>300</maximum-connection-count>為客戶端 最大的數(shù)據(jù)庫(kù)連接數(shù)
4.修改jboss服務(wù)端口號(hào)
使用JBOSS中間件時(shí),默認(rèn)的訪問(wèn)端口是8080,可以修改問(wèn)你想使用的端口,修改步驟如下:
打開(kāi)JBOSS目錄$JBOSS_HOME/server/vcom/deploy/jboss-web.deployer/下的server.xml文件,搜索8080,將8080改為新的端口號(hào),保存文件,重啟應(yīng)用服務(wù)器即可.訪問(wèn)時(shí)使用新的端口號(hào).
<Connector port="80" address="${jboss.bind.address}"
maxThreads="150" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
其中150是JVM中啟動(dòng)的最大線程數(shù),100 為JVM達(dá)到最大線程閥值時(shí),可以放在隊(duì)列中的HTTP請(qǐng)求數(shù)
5.JBOSS服務(wù)狀態(tài)監(jiān)控(web-console)
如果需要監(jiān)控jboss的系統(tǒng)資源,如:jboss的基本配置情況,jvm的利用率,線程池的使用情況,可以使用web-console進(jìn)行監(jiān)控。
5.1配置web-console
具體方法同jmx-console,就是位置不同,具體方法參考jmx-console配置:
· jboss-web.xml、web.xml在$JBOSS_HOME/vcom/deploy/management/console-mgr.sar/web-console.war/WEB-INF下;
· login-config.xml還是原來(lái)的那個(gè),把a(bǔ)pplication-policy名為$webConsoleDomain的部分改成你需要的web-console;
· web-console-users.properties、web-console-roles.properties定義了訪問(wèn) web-console的用戶、用戶角色,具體位置自己去找,使用find /jboss -name web-console-users.properties 找到以后可以修改用戶名、密碼。
5.2 監(jiān)控
使用http://localhost:8080/web-console/ 中,獲取當(dāng)前JBOSS-WEB應(yīng)用模塊的負(fù)載分擔(dān)情況,并可以查看到當(dāng)前JAVA虛擬機(jī)的內(nèi)存使用情況,及線程池使用情況。
使用http://localhost:8080/web-console/status,可以進(jìn)一步監(jiān)控到每個(gè)線程的狀態(tài)。
6.系統(tǒng)日志分析
在$JBOSS_HOME /server/vcom/log下,有關(guān)于jboss的日志記錄, 其中server.log是用來(lái)記錄JBOOS運(yùn)行過(guò)程的日志記錄,boot.log用來(lái)記錄JBOOS啟動(dòng)信息的,出現(xiàn)問(wèn)題時(shí)可以通過(guò)sever.log對(duì)jboss進(jìn)行分析。
6.1 JBOSS的日志配置文件
$JBOSS_HOME /server/vcom/conf下的jboss-log4j.xml,可以對(duì)日志的來(lái)源和級(jí)別進(jìn)行定義,也可以定義日志的記錄方式。
6.2 產(chǎn)生cluster.log
可以把jboss-log4j.xml中最后有關(guān)cluster.log的APPENDER注釋掉,系統(tǒng)運(yùn)行時(shí)會(huì)在log目錄下產(chǎn)生cluster.log文件,可以通過(guò)此文件對(duì)集群故障進(jìn)行分析。在測(cè)試調(diào)試過(guò)程可以使用此日志
6.3 更改日志記錄方式
Jboss日志記錄方式有2種:
1. 按日期進(jìn)行記錄
2. 按日志文件的大小進(jìn)行記錄
目前使用的是按照大小信息記錄。如果要修改記錄方式,直接編輯jboss-log4j.xml文件,將此段注釋去掉。
<!-- A time/date based rolling appender -->
<appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="File" value="${jboss.server.log.dir}/server.log"/>
<param name="Append" value="false"/>
<!-- Rollover at midnight each day -->
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
…………………………………………………
……………………………………………………………………….
</layout>
</appender>
同時(shí)將下段注釋掉
<!-- A size based file rolling appender-->
<appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="File" value="${jboss.server.log.dir}/server.log"/>
<param name="Append" value="false"/>
<param name="MaxFileSize" value="500KB"/>
<param name="MaxBackupIndex" value="1"/>
……………………………………………………………
…………………………………………………………
</layout>
</appender>
下。