ActiveMQ第一弹:安装与运行

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

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。

相关文章
|
7月前
|
消息中间件 中间件 Java
【十六】RabbitMQ基础篇(下载安装并基础使用,内含各种坑问题)
【十六】RabbitMQ基础篇(下载安装并基础使用,内含各种坑问题)
88 0
|
消息中间件 Kafka Shell
Kafka的保姆级简易安装启动、关闭注意事项、简单使用
Kafka的保姆级简易安装启动、关闭注意事项、简单使用
1449 0
|
消息中间件 数据安全/隐私保护 Windows
番外篇:搭建Windows环境下的RabbitMQ环境
搭建Windows环境下的Rabbitmq环境 下载erlang语言包OTP。 官网地址:https://www.erlang.org/downloads如果下载不了,可以选择百度网盘下载,里面的版本是21.2:链接:https://pan.baidu.com/s/11catQGzkw1EpFoyQBICJJQ 提取码:optt
138 0
番外篇:搭建Windows环境下的RabbitMQ环境
|
消息中间件 Ubuntu Java
Docker下RabbitMQ延时队列实战两部曲之二:细说开发
在SpringBoot框架下进行RabbitMQ开发,并且在Docker环境部署和运行
134 0
Docker下RabbitMQ延时队列实战两部曲之二:细说开发
|
消息中间件 存储 Kafka
带你从头进行RabbitMQ安装、集群搭建、镜像队列配置和代码验证(上)
带你从头进行RabbitMQ安装、集群搭建、镜像队列配置和代码验证(上)
带你从头进行RabbitMQ安装、集群搭建、镜像队列配置和代码验证(上)
|
消息中间件
带你从头进行RabbitMQ安装、集群搭建、镜像队列配置和代码验证(下)
带你从头进行RabbitMQ安装、集群搭建、镜像队列配置和代码验证(下)
带你从头进行RabbitMQ安装、集群搭建、镜像队列配置和代码验证(下)
|
消息中间件
带你从头进行RabbitMQ安装、集群搭建、镜像队列配置和代码验证(中)
带你从头进行RabbitMQ安装、集群搭建、镜像队列配置和代码验证(中)
带你从头进行RabbitMQ安装、集群搭建、镜像队列配置和代码验证(中)
|
消息中间件 Linux 网络安全
阿粉教你避开安装RabbitMQ的那些坑(命令实战)(下)
前段时间的时候,阿粉给大家在一篇文章中讲了关于如何安装RabbitMQ,以及如何在Windows下安装RabbitMQ的文章,但是后台就有粉丝说,为啥不讲 RabbitMQ 在Linux下的安装呢,我在 Linux 下安装了好几次都失败了,然后我还不知道是什么问题。于是阿粉专门整了个小小的云服务器,就打算在自己的云服务器上装上 RabbitMQ 并且给大家详细说一下安装的命令。
阿粉教你避开安装RabbitMQ的那些坑(命令实战)(下)
|
消息中间件 Linux Windows
阿粉教你避开安装RabbitMQ的那些坑(命令实战)(上)
前段时间的时候,阿粉给大家在一篇文章中讲了关于如何安装RabbitMQ,以及如何在Windows下安装RabbitMQ的文章,但是后台就有粉丝说,为啥不讲 RabbitMQ 在Linux下的安装呢,我在 Linux 下安装了好几次都失败了,然后我还不知道是什么问题。于是阿粉专门整了个小小的云服务器,就打算在自己的云服务器上装上 RabbitMQ 并且给大家详细说一下安装的命令。
阿粉教你避开安装RabbitMQ的那些坑(命令实战)(上)
|
负载均衡 网络协议 Java