Linux下安装ActiveMQ

1、下载或上传安装包到服务器的安装目录,进入安装目录:cd /opt/

2、解压缩:tar -zxvf apache-activemq-5.11.1-bin.tar.gz

3、重命名:mv apache-activemq-5.11.1/ activemq5

4、开启防火墙的端口过滤,默认8161为管控台的端口,61616为消息通信端口

vi /etc/sysconfig/iptables,增加如下内容:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8161 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 61616 -j ACCEPT

--重启防火墙:service iptables restart

其中管控台的端口,可以在此处修改:vi activemq5/conf/jetty.xml

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

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

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

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

 </bean>

5、启动服务:./activemq5/bin/activemq start,访问管控台测试

http://192.168.0.207:8161,默认用户名和密码为:admin

6、管控台权限控制和密码修改

--修改默认密码

vi activemq5/conf/jetty-realm.properties,如下:

# username: password [,rolename ...]

admin: admin, admin

user: user, user

--修改是否需要验证登录

vi activemq5/conf/jetty.xml,如下:

<bean id="securityConstraint" class="org.eclipse.jetty.util.security.Constraint">

        <property name="name" value="BASIC" />

        <property name="roles" value="user,admin" />

        <!-- set authenticate=false to disable login -->

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

    </bean>

7、查看启动日志

tail -f activemq5/data/activemq.log 

8、开机自启动

vi /etc/rc.local,增加如下内容

#JAVA_HOME

export JAVA_HOME=/opt/jdk1.7.0_07

 #activemq

/opt/activemq5/bin/activemq start

9、安全配置(消息安全),如果不设置安全策略,其他人在得知服务地址和端口的情况下,可以无限制的发送消息或者获取已知队列主题数据。

vi activemq5/conf/activemq.xml,在<borker>节点中增加简单访问权限控制,可加在</broker>节点上方:

<plugins>
             <simpleAuthenticationPlugin>
                 <users>
                     <authenticationUser username="${activemq.username}" password="${activemq.password}" groups="users,admins"/>
                 </users>
             </simpleAuthenticationPlugin>
        </plugins>

 10、管理界面说明 


Number Of Consumers:表示消费者数量;

Number Of Pending Messages:等待消费的消息,这个是当前未出队列的数量; 

Messages Enqueued:进入队列的消息;( 这个数量只增不减,重启acmq后会清零) 

Messages Dequeued:出了队列的消息  可以理解为是消费这消费掉的数量 (重启acmq后会清零)

一般情况下,

1、当有生产者在发送消息,同时有消费者在消费消息的话,Number Of Pending Messages=0,Messages Enqueued=Messages Dequeued.即:等待消费数量为0,入队的和出队的消息相等(最终)。

2、当有生产者在发送消息,没有消费者的时候,Number Of Pending Messages=Messages Enqueued.即:入队的消息数等于待消费的数。

3、当AMQ重启后,Messages Enqueued=Messages Dequeued = 0(即:清零),如果设置了消息的持久化,那么重启前没有被消费的消息会在Number Of Pending Messages中显示。

猜你喜欢

转载自hengdu.iteye.com/blog/2377394
今日推荐