天若有情

          到教堂懺悔,愿主安撫我罪惡的心靈......
          posts - 4, comments - 35, trackbacks - 0, articles - 24

          JBOSS安裝配置

          Posted on 2008-09-08 14:31 freedoom 閱讀(6991) 評論(0)  編輯  收藏 所屬分類: JAVA技術(好文保存)
           

          第一章 安裝運行JBOSS

          1 安裝JBOSS

          JBOSS最新發布的ASApplication Server)版本是5.0.0.Beta1,最近一個穩定版本是4.0.5,我們使用的版本是4.0.4。該版本比較穩定。

                  安裝JBOSS很簡單。將jboss-4.0.4.GA.zip解壓到一個目錄(比如d:\ jboss-4.0.4.GA)下即可。

                  提示:保留原來的zip文件,以免在使用過程中出錯,還可以恢復到正常狀態。

          2 運行JBOSS    

          JBOSShome目錄($JBOSS_HOME \bin)有一個run.bat文件和 一個run.sh文件,直接運行run.shlinux系統)或run.batwindows系統)即可啟動JBOSS

          如果需要設置JBOSS應用啟動的端口,可以修改$JBOSS_HOME \server\default\deploy\jbossweb-tomcat55.sar\server.xml文件

          <!-- A HTTP/1.1 Connector on port 8080 -->

                <Connector port="8080" address="${jboss.bind.address}"

                   maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"

                   emptySessionPath="true"

                   enableLookups="false" redirectPort="8443" acceptCount="100"

                   connectionTimeout="20000" disableUploadTimeout="true"/>

          可將這個port修改成需要的端口。

          3 JBOSS控制臺

          3.1 如何查看Jboss的屬性

          啟動JBOSS,打開http://IP:Port/,可進入如下頁面

           

          http://IP:Port/web-consolehttp://IP:Port/jmx-consoleJboss是以JMX為核心的,console上并不直接提供配置和控制server的功能,各項操作需要找到對應的Mbean,調用相關方法。

          3.2 如何控制Jboss控制臺的訪問權限

          web-consolejmx-console都可以使用Jboss提供的JAAS框架進行訪問權限控制,修改應用war包內的WEB-INF/web.xmljboss-web.xml,取消對應的注釋即可。以web-console為例

          jboss-web.xml

          security-domainjava:/jaas/web-console</security-domain
           web.xml
                 security-constraint
                        web-resource-collection
                               web-resource-nameHtmlAdaptor</web-resource-name
                               descriptionAn 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-methodGET</http-method
                               http-methodPOST</http-method
                        </web-resource-collection
                        auth-constraint
                               role-nameJBossAdmin</role-name
                        </auth-constraint
                 </security-constraint

          jboss-web.xml中指明該應用的policyweb-console,授權的角色為JBossAdmin。在$JBOSS_HOME/server/${app}/conf/login-config.xml中可以找到對policy: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

          $JBOSS_HOME/server/${app}/conf/中建立文件web-console-roles.properties配置角色信息

          #用戶名=角色1,角色2,…,角色n

          admin=JBossAdmin,HttpInvoker

          $JBOSS_HOME/server/${app}/conf/中建立文件web-console-users.properties配置用戶信息

          #用戶名=密碼(明文)

          admin=admin

          經過上述配置,需要以用戶admin密碼admin才能登錄http://IP:Port/web-console

          第二章 發布目錄及配置文件

          1 JBOSS的應用發布目錄

                 JBOSS在控制臺沒有提供直接的目錄發布應用的功能。需要通過直接修改配置文件完成。系統默認的發布目錄是$JBOSS_HOME \server\default\deploy,直接將war包復制到這個目錄下即可。如果需要以目錄方式部署,可以將war包解開后的整個目錄復制過來,但注意目錄名一定要修改成${app}.war這種形式。

          2 JBOSS配置文件

          2.1 增加jboss-web.xml

          jboss-web.xml的作用類似于weblogic.xml,用于指定一些跟應用服務器相關的配置。在jboss環境下,原有的weblogic.xml已經沒有用處,可以刪除。在WEB-INF目錄下新增jboss-web.xml,內容如下:

          <?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>

              <context-root>${app}</context-root>

                 <resource-ref>

                  <res-ref-name>jdbc/JDBCDS</res-ref-name>

                  <jndi-name>java:/JDBCDS</jndi-name>

              </resource-ref>

          </jboss-web>

          指定了web應用的context/${app},以及指定web應用中使用數據源的jndijava:/JDBCDS

          2.2 修改web.xml

          修改WEB-INF目錄下的web.xml文件,增加如下內容:

          <resource-ref>

              <res-ref-name>jdbc/JDBCDS</res-ref-name>

              <res-type>javax.sql.DataSource</res-type>

              <res-auth>Container</res-auth>

            </resource-ref>

          注意這里面的配置關系:web.xml里的<res-ref-name> jdbc/JDBCDS </res-ref-name>
          中的jdbc/JDBCDSjboss-web.xml里的<res-ref-name> jdbc/JDBCDS </res-ref-name>
          中的jdbc/JDBCDS一致,前者是向后者看齊的;而jboss-web.xml里的  <jndi-name>java:jdbc/MyDs</jndi-name>中的java:jdbc/MyDs 為前綴“java:” 加上 在第一步(數據源配置文件配置)中配置的jndi名稱組成。

          2.3 增加oracle-ds.xml

          JBOSS發布應用時,我們需要為數據庫創建一個數據源描述文件,$JBOSS_HOME/ server/default/deploy /目錄下,增加一個oracle-ds.xml文件,內容如下

          <?xml version="1.0" encoding="UTF-8"?>

          <datasources>

            <local-tx-datasource>

              <jndi-name>JDBCDS</jndi-name>

              <connection-url>jdbc:oracle:thin:@10.1.1.1:1521:ora9i</connection-url>

              <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>

              <user-name>eafcem</user-name>

              <password>eafcem</password>

          <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>

                <metadata>

                   <type-mapping>Oracle9i</type-mapping>

                </metadata>

            </local-tx-datasource>

          </datasources>

          我們可以把$JBOSS_HOME\docs\examples\jca\oracle-ds.xmloracle-xa-ds.xml拷貝到deploy目錄下,修改其中的連接串、用戶名、密碼即可

          第三章 JBOSS配置

          以下以Linux平臺為例:
          Jboss部署位置用$JBOSS_HOME指代

          1、  精簡服務(可選)

          default配置中有一些我們不需要的服務,在deploy目錄下以xmlsar的形勢存在。可以刪除以加快啟動速度減少資源占用,目前確認可以刪除的內容如下

          n         jboss-aop.deployer

          n         jbossws14.sar

          n         jms

          n         uuid-key-generator.sar

          n         bsh-deployer.xml

          n         cache-invalidation-service.xml

          n         client-deployer-service.xml

          n         ear-deployer.xml

          n         ejb-deployer.xml

          n         hsqldb-ds.xml

          n         jboss-ha-xa-jdbc.rar

          n         jsr88-service.xml

          n         mail-ra.rar

          n         mail-service.xml

          n         vi conf/jboss-service.xml,刪除以下內容

             <!-- ==================================================================== -->

             <!-- Class Loading                                                        -->

             <!-- ==================================================================== -->

           

             <mbean code="org.jboss.web.WebService"

                name="jboss:service=WebService">

                <attribute name="Port">8083</attribute>

                <!-- Should non-EJB .class files be downloadable -->

                <attribute name="DownloadServerClasses">true</attribute>

                <!-- Should resources other than .class files be downloadable. Both

                   DownloadServerClasses and DownloadResources must be true for resources

                   to be downloadable. This is false by default because its generally a

                   bad idea as server configuration files that container security

                   information can be accessed.

                 -->

                <attribute name="DownloadResources">false</attribute>

                <attribute name="Host">${jboss.bind.address}</attribute>

                <attribute name="BindAddress">${jboss.bind.address}</attribute>

                <!-- Use the default thread pool for dynamic class loading -->

                <depends optional-attribute-name="ThreadPool"

                   proxy-type="attribute">jboss.system:service=ThreadPool</depends>

             </mbean>

          2、  修改jboss運行參數配置文件

          修改run.conf修改或增加以下內容,參數值根據實際情況調整

          MAX_FD="8192"

          JAVA_HOME="/opt/aspire/product/jboss/jdk1.5.0_10"

          JAVA_OPTS="-server -Xms512m -Xmx1024m -Xloggc:./gc/$$ -XX:PermSize=64m -XX:MaxPermSize=128m -XX:-UseParallelGC -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"

          3、  創建啟動腳本

          $JBOSS_HOME/server/default創建啟動腳本start,內容如下

          mv nohup.out nohup.bak

          nohup $JBOSS_HOME/bin/run.sh -c default -P run.conf & > nohup.out

          4、  創建停止腳本

          $JBOSS_HOME/server/default創建啟動腳本down,內容如下

          $JBOSS_HOME/bin/shutdown.sh --server=jnp://localhost:1099 --shutdown

          其中11099端口為示意,請根據實際的JNDI端口修改。

          5、  數據庫驅動

          JBOSS不帶oracle jdbc driver,需要手工放置classes12.jar$JBOSS_HOME/server/default/lib目錄下。

          6、  log4j的問題

                 JBOSS自己的log4j和應用Log4j沖突的問題,目前暫時的做法刪除JBOSS自帶的server/default/deploy目錄下的log4j.jar,啟動時會報一個錯,但simf的日志可正常使用,在$JBOSS_HOME/bin目錄下會生成eaflog目錄

          7、  修改端口(可選)

          如果在一臺機器上部署了多個jboss server或者jboss默認端口已被其它應用使用,需要修改相關端口以避免端口沖突。目前確認需要修改的配置如下

          vi $JBOSS_HOME/server/default/conf/jboss-service.xml

          n         JNDI端口:默認1099

             <mbean code="org.jboss.naming.NamingService"

                name="jboss:service=Naming"

                xmbean-dd="resource:xmdesc/NamingService-xmbean.xml">

          ......

                  <attribute name="Port">1099</attribute>

                  <!--
                  <attribute name="RmiPort">1098</attribute>
                  -->

          n         RMI端口:默認4444/4445

             <mbean code="org.jboss.invocation.jrmp.server.JRMPInvoker"

                name="jboss:service=invoker,type=jrmp">

                <attribute name="RMIObjectPort">4444</attribute>

          .........

             </mbean>

          ……

             <mbean code="org.jboss.invocation.pooled.server.PooledInvoker"

                name="jboss:service=invoker,type=pooled">

          ......

                  <attribute name="ServerBindPort">4445</attribute>

             </mbean>

          vi $JBOSS_HOME/eaf/deploy/jbossweb-tomcat55.sar/server.xml

          n         HTTP端口:默認8080

                <Connector port="8080" address="${jboss.bind.address}"

                   maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"

                   emptySessionPath="true"

                   enableLookups="false" redirectPort="8443" acceptCount="100"

                   connectionTimeout="20000" disableUploadTimeout="true"/>

           

          主站蜘蛛池模板: 土默特右旗| 凤阳县| 奉化市| 永吉县| 曲麻莱县| 集安市| 宜州市| 威远县| 定日县| 凤凰县| 南丹县| 长岭县| 霸州市| 新竹县| 柞水县| 乐平市| 娄烦县| 仁寿县| 曲沃县| 出国| 浠水县| 深水埗区| 湖州市| 荔波县| 莫力| 万山特区| 阿坝| 闵行区| 新泰市| 广南县| 祥云县| 江津市| 楚雄市| 永靖县| 昭通市| 剑阁县| 莱州市| 忻城县| 亳州市| 德清县| 盐池县|