ActiveMQ進階配置

JerKingston 8年前發布 | 22K 次閱讀 ActiveMQ 消息系統

來自: http://my.oschina.net/u/188165/blog/609276


配置web管理頁面的安全認證

默認的web頁面用戶名密碼admin:admin,非常不安全,

編輯jetty-realm.properties文件,(用戶:密碼,組)

admin: admin123, admin

user: user123, user

配置web管理頁面的綁定IP和端口

編輯jetty.xml,查找WebConsolePort

    <bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">

             <!-- the default port number for the web console -->

        <property name="host" value="192.168.0.31"/>

        <property name="port" value="8161"/>

    </bean>

配置MQ連接的安全認證

編輯activemq.xml,在<broker>下加

        <plugins>

            <simpleAuthenticationPlugin>

                <users>

                    <authenticationUser username="user" password="user123" groups="users" />

                </users>

            </simpleAuthenticationPlugin>

        </plugins>

禁用不使用的連接協議

編輯activemq.xml,在<transportConnectors>中注銷或刪除不使用的<transportConnector>

        <transportConnectors>

            <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->

            <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>

            <!--<transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>

            <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>

            <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>

            <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>-->

        </transportConnectors>

上面我只保留了61616的openwire協議端口

綁定協議連接端口到指定IP

編輯activemq.xml,在<transportConnectors>下找到指定協議的配置,并修改0.0.0.0為要綁定的ip

<transportConnector name="openwire" uri="tcp://192.168.0.10:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>

使用MySql作為持久化保存

編輯activemq.xml,在<beans>下插入如下bean配置

    <bean id="mysql-ds" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">

        <property name="driverClassName" value="com.mysql.jdbc.Driver" />

        <property name="url" value="jdbc:mysql://192.168.0.20/activemq?relaxAutoCommit=true" />

        <property name="username" value="activemq" />

        <property name="password" value="123456" />

        <property name="poolPreparedStatements" value="true" />

    </bean>

刪除或注銷掉<persistenceAdapter>下的<kahaD>,添加<jdbcPersistenceAdapter>

        <persistenceAdapter>

   <!--<kahaDB directory="${activemq.data}/kahadb"/>-->

            <jdbcPersistenceAdapter dataDirectory="activemq-data" dataSource="#mysql-ds"/>

        </persistenceAdapter>

配置基于JDBC的高可用環境

兩個以上activemq使用一樣的db配置,

????客戶端連接url為failover:(tcp://broker1:61616,tcp://broker2:61616)

官方參考文檔????

修改內存

linux下,修改bin/env的ACTIVEMQ_OPTS_MEMORY屬性,Xms=最小內存,Xmx=最大內存

ACTIVEMQ_OPTS_MEMORY="-Xms64M -Xmx1G"

window下,修改activemq.bat,在 if "%ACTIVEMQ_OPTS%" == " 前設置

set ACTIVEMQ_OPTS=-Xms1G -Xmx1G

注冊為Service

linux(RedHat,Centos)下(官方參考文檔),運行以下命令注冊為service,并設置為開機自動啟動

ln -snf bin/activemq /etc/init.d/activemq
chkconfig --add activemq
chkconfig activemq on

然后就可以使用如下service命令了

service activemq start|stop|status|restart


 本文由用戶 JerKingston 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!