1、下載地址: http://www.jboss.org/jbossas/downloads
2、解壓 jboss-as-7.1.1.Final.zip (本文以7.1.1版本為准,其中7.1和7.0有不少區別)
以下已經配好java環境忽略
系統變量->新建->變量名:JAVA_HOME = C:\Java
系統變量->新建->變量名:CLASSPATH 變量值:.;%JAVA_HOME%\lib
系統變量->編輯->變量名:Path 在變量值的最前面加上:%JAVA_HOME%\bin;
3.目錄結構
standalone目錄結構
Domain目錄結構
啟動時創建。在每個服務器的目錄內包括以下的子目錄:
4.Domain模式
JBoss AS7加入了域domain的概念,目的是使多台JBoss AS服務器的配置可以集中於一點,統一配置、統一部署,從而實現在管理多台JBoss AS服務器時,實現集中管理。
域的目的是將多台服務器組成一個服務器組,並為一個服務器組內的多台主機提供:
1.單點集中配置(通過一個域控制器,即Domain Controller,實現組內主機的統一配置)
2.單點統一部署,通過域控制器將項目一次部署至組內全部主機
5.操作
簡單開啟服務器的命令
以standalone模式運行服務器:
<JBOSS_HOME>\bin\standalone.bat (Windows) <JBOSS_HOME>/bin/standalone.sh (Unix / Linux)
以domain模式運行服務器:
<JBOSS_HOME>\bin\domain.bat (Windows) <JBOSS_HOME>/bin/domain.sh (Unix / Linux)
這種開啟服務器的方式有個缺點,當你的命令窗口關閉后,服務自動down了
讓服務器開啟后在后台運行:
進入到bin目錄下,輸入
nohup ./standalone.sh &
這樣服務器就會在后台運行,即使關閉命令窗口,服務器依然運行
關閉
<JBOSS_HOME>/bin/jboss-cli.sh --connect --command=:shutdown //jboss7.1.x <JBOSS_HOME>/bin/jboss-cli.bat --connect --command=:shutdown //jboss7.1.x
附上兩個腳本
run.sh
nohup sh /usr/local/jboss-as-7.1.1.Final/bin/standalone.sh &> /usr/local/jboss-as-7.1.1.Final/standalone/log/nohup.out 2>&1&
kill.sh
pids=`ps -ef|grep java|grep jboss |awk '{printf $2" "}'`
echo "will kill process ids:$pids"
kill -9 $pids
echo 'kill successed'
6.修改配置
因為默認jboss只允許127.0.0.1訪問,
修改訪問的ip和端口
<interfaces> <interface name="management"> <inet-address value="${jboss.bind.address.management:127.0.0.1}" /> </interface> <interface name="public"> <inet-address value="${jboss.bind.address:127.0.0.1}" /> </interface> <interface name="unsecure"> <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}" /> </interface> <interface name="any"> <any-ipv4-address /> </interface>
</interfaces>
在上面加入紅色那一段后,然后修改下面的部分
<!-- <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}"> --> <socket-binding-group name="standard-sockets" default-interface="any" port-offset="${jboss.socket.binding.port-offset:0}">
<socket-binding name="management-native" interface="management" port="${jboss.management.native.port:9999}" /> <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}" /> <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9443}" /> <socket-binding name="ajp" port="8009" />
<socket-binding name="http" port="8080" /><!-- 此處修改8081端口 -->
<socket-binding name="https" port="8443" /> <socket-binding name="osgi-http" interface="management" port="8090" /> <socket-binding name="remoting" port="4447" /> <socket-binding name="txn-recovery-environment" port="4712" /> <socket-binding name="txn-status-manager" port="4713" /> <outbound-socket-binding name="mail-smtp"> <remote-destination host="localhost" port="25" /> </outbound-socket-binding> </socket-binding-group>
也可以采用下面這種方法,這是指定一個ip,只有這一個ip能進行訪問
<interface name="public"> <inet-address value="${jboss.bind.address:192.168.0.120}" /> </interface>
也可以修改此處的ip,修改此處的ip,下面部分就不需要修改,如果是在采用的是在此處修改ip的方法,在啟動jboss之前,本機必須有網卡上配置該ip,否則在jboss啟動之后,再配置ip也不能進行訪問,在啟動的時候會拋異常,不存在該ip
MSC00001: Failed to start service jboss.network.public: org.jboss.msc.service.StartException in service jboss.network.public: JBAS015810: failed to resolve interface public
at org.jboss.as.server.services.net.NetworkInterfaceService.start(NetworkInterfaceService.java:97) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.7.0_09]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.7.0_09]
at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_09]
修改訪問端口,在<JBOSS_HOME> /standalone/configuration/standalone.xml文件中
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:100}
默認是0,端口是根據設置的基准值+偏移量得到的,JBoss默認的訪問的端口是8080,默認的偏移量是0,所以訪問的端口是8080,
修改紅色部分,修改偏移量,這樣就可以得到新的訪問端口,在瀏覽器訪問http://192.168.0.120:8180