ActiveMQ使用java写的,所以天然跨平台,windows,各种类Unix系统都可运行,只需要下载对应的分发包即可。当前AciveMQ的最新版本是5.9.0。我目前在自己机子上安装的版本是5.8.0。

安装ActivceMQ需要先设置好系统环境。

  1. 空间剩余磁盘大于60M。(这个肯定没问题)

  2. 需要预装JDK,版本为1.6.x及其以上。(ActiveMQ就是用java写的,肯定要装java环境的嘛)

接下来就可以安装ActiveMQ了。

一种是直接下载分发包,地址是http://activemq.apache.org/。找到想要安装的版本后解压缩即可。

另一种是通过源代码安装,地址是http://activemq.apache.org/download.html。该源代码是使用maven作为构建工具的,所以需要先安装maven,如何安装可参见maven官网(MAC用户如果安装了homebrew的话,直接运行brew install maven即可)。 然后使用mvn clean install -Dmaven.test.skip=true来构建源代码。如果构建成功的话在target目录下可以看到生成的activemq-x.x-SNAPSHOT.zip文件,解压缩以后就可以使用了。

当然MAC用户的话安装就简单了,直接使用brew install activemq就行(不知道homebrew为何物的参见我写的文章:
Homebrew- MAC上的包管理利器)。ActiveMQ会被默认安装到/usr/local/Cellar/activemq。

1
2
3
4
5
6
$:/usr/local/Cellar/activemq$ ls
5.7.0 5.8.0
$:/usr/local/Cellar/activemq$ cd 5.8.0
$:/usr/local/Cellar/activemq/5.8.0$ ls
INSTALL_RECEIPT.json NOTICE bin
LICENSE README.txt libexec

HomeBrew会自动将activemq加入到系统路径中。

下表列出了与ActiveMQ有关的一些重要的环境变量。

  • ACTIVEMQ_HOME: /usr/local/Cellar/activemq/5.8.0/libexec

  • ACTIVEMQ_BASE: /usr/local/Cellar/activemq/5.8.0/libexec

  • ACTIVEMQ_CONF: /usr/local/Cellar/activemq/5.8.0/libexec/conf

  • ACTIVEMQ_DATA: /usr/local/Cellar/activemq/5.8.0/libexec/data

注意一下所有命令有时基于ActiveMQ 5.8.0版本,不同版本命令稍有不同。

先运行activemq setup ~/.activemqrc来指定activemq的环境配置文件。在这个文件中可以自定义activemq使用的JDK路径,jvm参数等信息。

1
2
3
4
5
$:/usr/local/Cellar/activemq/5.8.0$ activemq setup ~/.activemqrc
INFO: Loading '/Users/twer/.activemqrc'
INFO: Creating configuration file: /Users/twer/.activemqrc
INFO: It's recommend to limit access to '/Users/twer/.activemqrc' to the priviledged user
INFO: (recommended: chown 'twer':nogroup '/Users/twer/.activemqrc'; chmod 600 '/Users/twer/.activemqrc’)

运行activemq可以显示activemq相应的配置信息及可用的命令。(注意低版本中此命令是启动ActiveMQ)

运行activemq start可以在一个独立进程中启动activemq。

1
2
3
4
5
$:/usr/local/Cellar/activemq/5.8.0$ activemq start
INFO: Loading '/Users/twer/.activemqrc'
INFO: Using java '/System/Library/Frameworks/JavaVM.framework/Home/bin/java'
INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details
INFO: pidfile created : '/usr/local/Cellar/activemq/5.8.0/libexec/data/activemq-bowen-huang.local.pid' (pid '50873')

可以看到进程id是50873.

终止ActiveMQ的运行有两种方式。一种是使用activemq stop

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$:/usr/local/Cellar/activemq/5.8.0$ activemq stop
INFO: Loading '/Users/twer/.activemqrc'
INFO: Using java '/System/Library/Frameworks/JavaVM.framework/Home/bin/java'
INFO: Waiting at least 30 seconds for regular process termination of pid '50873' :
Java Runtime: Apple Inc. 1.6.0_65 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Heap sizes: current=1035520k free=1033420k max=1035520k
JVM args: -Xms1G -Xmx1G -Djava.util.logging.config.file=logging.properties -Dactivemq.classpath=/usr/local/Cellar/activemq/5.8.0/libexec/conf; -Dactivemq.home=/usr/local/Cellar/activemq/5.8.0/libexec -Dactivemq.base=/usr/local/Cellar/activemq/5.8.0/libexec -Dactivemq.conf=/usr/local/Cellar/activemq/5.8.0/libexec/conf -Dactivemq.data=/usr/local/Cellar/activemq/5.8.0/libexec/data
Extensions classpath:
[/usr/local/Cellar/activemq/5.8.0/libexec/lib,/usr/local/Cellar/activemq/5.8.0/libexec/lib/camel,/usr/local/Cellar/activemq/5.8.0/libexec/lib/optional,/usr/local/Cellar/activemq/5.8.0/libexec/lib/web,/usr/local/Cellar/activemq/5.8.0/libexec/lib/extra]
ACTIVEMQ_HOME: /usr/local/Cellar/activemq/5.8.0/libexec
ACTIVEMQ_BASE: /usr/local/Cellar/activemq/5.8.0/libexec
ACTIVEMQ_CONF: /usr/local/Cellar/activemq/5.8.0/libexec/conf
ACTIVEMQ_DATA: /usr/local/Cellar/activemq/5.8.0/libexec/data
Connecting to pid: 50873
.Stopping broker: localhost
… FINISHED

另一种则是暴力的杀死进程,即kill 50873

运行activemq console则会在当前console中启动activemq。这种好处是不用多开一个进程,而且可以直接从console中看到log。关闭activemq也很简单,直接按ctrl+C终止终端运行。

ActiveMQ的默认端口是61616,可以检测这端口来判断ActiveMQ是否启动成功。

1
2
$:/usr/local/Cellar/activemq/5.8.0$ netstat -an|grep 61616
tcp46 0 0 *.61616 *.* LISTEN

也可以访问web终端http://localhost:8161/admin来查看和管理ActiveMQ。(默认用户名密码是admin/admin,你也可以修改配置,其在ActiveMQ安装目录下的libexec/conf/jetty-real.properties文件中)。

ActiveMQ支持xml文件格式对其进行配置。其实我们运行activemq start时,ActiveMQ就是默认使用了其安装目录下的libexec/conf/activemq.xml文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$:/usr/local/Cellar/activemq/5.8.0/libexec/conf$ ls
activemq-command.xml broker.ks
activemq-demo.xml broker.ts
activemq-dynamic-network-broker1.xml camel.xml
activemq-dynamic-network-broker2.xml client.ks
activemq-jdbc.xml client.ts
activemq-scalability.xml credentials-enc.properties
activemq-security.xml credentials.properties
activemq-specjms.xml jetty-demo.xml
activemq-static-network-broker1.xml jetty-realm.properties
activemq-static-network-broker2.xml jetty.xml
activemq-stomp.xml jmx.access
activemq-throughput.xml jmx.password
activemq.xml log4j.properties
broker-localhost.cert logging.properties

我们当然可以使用自定义的配置文件,比如我们改用activemq-demo.xml。

1
2
3
4
5
$:/usr/local/Cellar/activemq/5.8.0/libexec$ activemq start xbean:./conf/activemq-demo.xml
INFO: Loading '/Users/twer/.activemqrc'
INFO: Using java '/System/Library/Frameworks/JavaVM.framework/Home/bin/java'
INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details
INFO: pidfile created : '/usr/local/Cellar/activemq/5.8.0/libexec/data/activemq-bowen-huang.local.pid' (pid '51375’)

ActiveMQ在5.8.0版本及之后在安装包中包含了一些demo来演示对ActiveMQ的使用。使用方式很简单,首先采用activemq-demo.xml配置文件来启动ActiveMQ,然后访问http://localhost:8161/demo/尽情探索把。

这些demo的源码都在ActiveMQ安装目录下的libexec目录中,里面有个user-guide.html,可以用浏览器直接打开,它详细描述了该如何使用这些demo。

ActiveMQ第一弹:安装与运行的更多相关文章

  1. Docker第一弹:下载运行hello-world程序

    1.需要安装好docker程序 没有安装的请看在centos 6.8下安装docker 2.从docker镜像仓库中拉去hello-world镜像 docker pull hello-world 3. ...

  2. [翻译]第一天 - 在 Windows 下安装和运行 .NET Core

    原文: http://michaelcrump.net/getting-started-with-aspnetcore/ 免责声明:我不是 .NET Core 开发团队的一员,并且使用的是公开.可用的 ...

  3. 【OpenCV入门指南】第一篇 安装OpenCV

    http://blog.csdn.net/morewindows/article/details/8225783/ win10下vs2015配置Opencv3.1.0过程详解(转) http://ww ...

  4. 学习ActiveMQ(一):安装与启动

    一:简单介绍 AvtiveMQ是Apaceh所研发的一个开源消息中间件,用来在服务与服务之间进行异步通信,是基于JMS规范的.activemq包含发送者(sender).消息(message).队列( ...

  5. JVM第一弹

    JVM第一弹 基本概念 JVM是可运行java代码的假想计算机,包括一套字节码指令集,一组寄存器,一个栈,一个垃圾回收.堆和一个存储方法域.JVM是运行在操作系统之上的,它与硬件没有直接的交互. 运行 ...

  6. 关于『进击的Markdown』:第一弹

    关于『进击的Markdown』:第一弹 建议缩放90%食用 比起隐蔽物下的狙击手,Markdown更像冲锋陷阵的阵头兵 简单.粗暴.直接.而且好上手 各位晚上好! 早饭吃了吗您 我 今 天 没 吃 M ...

  7. ActiveMQ 简介与安装

    一. 概述与介绍 ActiveMQ 是Apache出品,最流行的.功能强大的即时通讯和集成模式的开源服务器.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provide ...

  8. Mac系统下使用VirtualBox虚拟机安装win7--第一步 安装vbox虚拟机

    Mac系统下使用VirtualBox虚拟机安装win7操作步骤: 第一步 安装vbox虚拟机 1.先下载vbox,下载地址:: https://www.virtualbox.org/wiki/Down ...

  9. ActiveMQ第二弹:使用Spring JMS与ActiveMQ通讯

    本文章的完整代码可从我的github中下载:https://github.com/huangbowen521/SpringJMSSample.git 上一篇文章中介绍了如何安装和运行ActiveMQ. ...

随机推荐

  1. JQuery this 和 $(this) 详解

    this  this 在面向对象语言中,指代调用上下文对象,在js中,也是一模一样的概念,所以不管这个this出现在什么地方,只要追踪到当前调用对象是什么,那么this是什么也就一目了然了. 先看一个 ...

  2. Spring 通过工厂配置Bean

    1.通过静态工厂方法配置Bean 要声明通过静态方法创建的 Bean, 需要在 Bean 的 class 属性里指定拥有该工厂的方法的类, 同时在 factory-method 属性里指定工厂方法的名 ...

  3. AppcompatActivity闪退问题解决方案

    apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0. ...

  4. oracle 驱动安装备忘

    ubuntu 从oracle官网下载两个必须的rpm包(这里选择的是version12.1.0.2.0, 64位操作系统) oracle-instantclient12.1-basic-12.1.0. ...

  5. Linux下一些文件夹的含义

    在 Linux系统里面,"分区",被称作"挂载点",简单明了的说,"挂载点"意思就是:把一部分硬盘容量,"分"成一个文件 ...

  6. StringBuffer

    1.StringBuffer StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串 ...

  7. python学习之路-day3

    本节内容 1.集合操作 2.文件操作 3.字符编码与转码 4.函数 ==================================== 一.集合操作 集合是一个无序的,不重复的数据组合,它的主要 ...

  8. linux系统中scp命令的用法(Permission denied排错二例)

    原文链接: 这里需要注意,当往远程主机拷文件时,必须当前用户对远程主机的对应目录具有写权限 http://www.360doc.com/content/13/0929/13/6496277_31784 ...

  9. zabbix告警“Zabbix poller processes more than 75% busy”

    告警原因: 1.某个进程卡住了, 2.僵尸进程出错,太多,导致慢了 3.网络延迟(可忽略) 4.zabbix消耗的内存多了 告警危害: 普通告警,暂无危害(但是最好处理) 处理方法: 一:简单,粗暴( ...

  10. 【kd-tree】bzoj2716 [Violet 3]天使玩偶

    #include<cstdio> #include<cmath> #include<algorithm> using namespace std; #define ...