源码部署~ActiveMQ

MQ

  MQ英文名MessageQueue,中文名也就是大家用的消息队列,说白了就是一个消息的接受和转发的容器,可用于消息推送。


ActiveMQ介绍

   ActiveMQ是Apache出品的,最流行的,能力强劲的开源消息总线,ActiveMQ是一个完全支持JMS1.1和J2EE1.4规范的JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间任然扮演着特殊的地位;

  JMS是java的消息服务,JMS的客户端之间可以通过JMS服务进行异步的消息传输。。

 特点:

  1. 多种语言和协议编写客户端。语言: Java,C,C++,C#,Ruby,Perl,Python,PHP。应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP;
  2. 完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务);
  3. 对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性;
  4. 通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上;
  5. 支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA;
  6. 支持通过JDBC和journal提供高速的消息持久化;
  7. 从设计上保证了高性能的集群,客户端-服务器,点对点;
  8. 支持Ajax;
  9. 支持与Axis的整合;
  10. 可以很容易的调用内嵌JMS provider,进行测试.

其他开源JMS供应商:

  jbossmq(jboss 4)  jboss messaging (jboss 5)  RabbitMQ  joram-4.3.21  mantamq  ubermq ..


环境准备

[root@localhost ~]# cat /etc/redhat-release 
CentOS release 6.5 (Final)
[root@localhost ~]# uname -r
2.6.32-431.el6.x86_64
[root@localhost ~]# uname -m
x86_64
源码包版本 说明
jdk-7u65-linux-x64.gz 此环境需要jdk版本为1.7以上;
apache-activemq-5.14.5-bin.tar.gz  

JAVA环境部署

[root@localhost ~]# cd /soft/            # 进入源码包放置目录
[root@localhost soft]# tar xf jdk-7u65-linux-x64.gz -C /usr/local/    #解压jdk源码包到/usr/local/目录下
[root@localhost soft]# cd /usr/local/   # 切换至解压目录
[root@localhost local]# mv jdk1.7.0_65/ java/    # 给jdk更名java目录
[root@localhost local]# vim /etc/profile    # 更改系统配置,全局变量;
    export JAVA_HOME=/usr/local/java      
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:$JAVA_HOME/bin
[root@localhost local]# source /etc/profile        # 声明全局变量
[root@localhost local]# java -version           # 查看java版本,确定安装成功.
java version "1.7.0_65"
Java(TM) SE Runtime Environment (build 1.7.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

解压部署ActiveMQ

[root@localhost soft]# tar xf apache-activemq-5.14.5-bin.tar.gz -C /usr/local/        # 解压acitvemq源码包
[root@localhost soft]# cd /usr/local/       # 进入解压目录
[root@localhost local]# mv apache-activemq-5.14.5/ activemq~1    # 更改activemq名称(解压后直接使用)

ActiveMQ配置文件

[root@localhost ~]# cd /usr/local/activemq~1/conf/    # activemq配置文件目录
[root@localhost conf]# ls
activemq.xml           credentials-enc.properties  jmx.access
broker.ks              credentials.properties      jmx.password
broker-localhost.cert  groups.properties           log4j.properties
broker.ts              java.security               logging.properties
client.ks              jetty-realm.properties      login.config
client.ts              jetty.xml                   users.properties
    # activemq.xml    配置broker连接端口(61616);还有5672端口,若同时存在rabbitmq时,此端口需要更改.
    # jetty.xml    配置activemq的控制台端口(8161);在30行修改登录用户,默认为user,admin;可自行添加或修改;
    # jetty-realm.properties    添加上面建立的用户,修改密码;

配置broken(61616端口)

[root@localhost conf]# vim activemq.xml
    113             <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumCo    nnections=1000&amp;wireFormat.maxFrameSize=104857600"/>    # 默认端口为 61616;可自行修改;   
    114             <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnec    tions=1000&amp;wireFormat.maxFrameSize=104857600"/>    # 注意此端口,若服务中心存在rabbitmq.可能会引起端口冲突;
    115             <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumCon    nections=1000&amp;wireFormat.maxFrameSize=104857600"/>
    116             <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnec    tions=1000&amp;wireFormat.maxFrameSize=104857600"/>
    117             <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnectio    ns=1000&amp;wireFormat.maxFrameSize=104857600"/>

配置控制台端口(8161)及管理登录用户

[root@localhost conf]# vim jetty.xml
     29         <property name="name" value="BASIC" />    
     30         <property name="roles" value="user,admin" />      # value后面跟的是可登陆activemq的用户,可自行添加与修改,已逗号(,)隔开;登录密码在"jetty-realm.properties"文件中配置;
     31         <!-- set authenticate=false to disable login -->        # 确认次数为"true",说明在web登录时会开启认证;若为"flash",则不需要认证.
     32         <property name="authenticate" value="true" />


--------------
    109         <property name="host" value="0.0.0.0"/>
    110         <property name="port" value="8161"/>        # 控制台端口(默认为8161);

密码管理配置文件

[root@localhost conf]# vim jetty-realm.properties
     20 admin: admin, admin
     21 user: user, user
    # 添加格式:::   每行管理单独的一个用户, 第一列表示"用户名";第二列表示"密码";第三列表示"角色".

Activemq管理命令

[root@localhost bin]# pwd
/usr/local/activemq~1/bin
[root@localhost bin]# ./activemq start|stop|restart|status

作者:TZHR —— 世间一散人

出处:https://www.cnblogs.com/haorong/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明

原文地址:https://www.cnblogs.com/haorong/p/8086618.html