e2da28173211c248bc3e1480c2878087.gif

ce8b73968241c7ccd8ea87817c94f8c5.png

1、安装环境

  • CentOS6.5
  • JDK1.8
  • IP:192.168.31.103
  • 安装用户:普通用户

2、安装JDK并配置相关环境变量

下载JDK包,并配置环境变量

$ wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz
$ tar zxvf jdk-8u201-linux-x64.tar.gz  -C /usr/java/

$ vim /etc/profile #在文件底部添加

JAVA_HOME=/usr/java/jdk1.8.0_201
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH


$ java -version
java  version "1.8.0_201"
java(TM) Runtime Environment (build 1.8.0_201-b09)
java HotSpot(TM) 64-Bit Server VM (build 1.8.0_201-b09, mixed mode)

3、下载Linux版本的ActiveMQ

$ wget http://apache.fayea.com/activemq/5.11.1/apache-activemq-5.11.1-bin.tar.gz #使用apache-activemq-5.11.1-bin.tar

4、解压安装

$ tar -zxvf apache-activemq-5.11.1-bin.tar.gz #解压安装包:
$ mv apache-activemq-5.11.1 activemq-01 #重命名

5、防火墙中打开对应的端口

ActiveMQ用到两个端口:

  • 一个是消息通讯的端口(默认为61616)
  • 一个是管理控制台端口(8161),可以在conf/jetty.xml中修改,如下:
"jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start"> "host" value="0.0.0.0"/> "port" value="8161"/> 

切换到root用户后,在防火墙中打开所需的两个端口后并重启防火墙

$ su - root  #切换root用户

编辑端口配置文件:

$ vi /etc/sysconfig/iptables

添加

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

重启防火墙:

$ service iptables restart
$ exit

6、启动ActiveMQ

$ cd /home/dreyer02/activemq-01/bin/
$ ./activemq start

会看到输出

INFO: Loading '/home/dreyer02/activemq-01/bin/env' INFO: Using java '/usr/java/jdk1.7/jdk1.7.0_79/bin/java' INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details INFO: pidfile created : '/home/dreyer02/activemq-01/data/activemq.pid' (pid '5890')

查看ActiveMQ的进程

$ ps -ef|grep activemq

7、打开管理界面

beb07d7bcc741c9956ec9292f1a566d0.png

默认的用户名和密码为:admin/admin

登录后的界面

72dfa9e7f60ad8a580d318125a766c0a.png

各个参数说明:

Name:队列的名称
Number Of Pending Message:等待消费的消息
Number Of Consumeers:消费者的数量
Message Enqueued:进入队列的消息
Message Dequeued:出了队列的消息

当有一个消息进入消息队列后,等待消费的消息是1,进入队列的消息是1。当消息消费后,等待消费的消息是0,进入队列的消息还是1,出了队列的消息是1,再来一条消息时,等待消费的消息是1,进入队列的消息是2,以此类推。

8、安全配置(消息安全)

ActiveMQ如果不加入安全机制的话,那任何人只要知道消息的具体地址(IP、端口、消息地址【队列或者主题地址】),都可以肆无忌惮的发消息,接受消息。

Activemq的消息安全配置策略有很多种,我们以最简单的授权为例。

conf/activemq.xml文件中,在broker标签最后加入以下内容即可

$ vi /home/dreyer02/activemq-01/conf/activemq.xml

   "dreyer" password="dreyer" groups="users,admins"/>   

意思为定义一个dreyer用户,密码为dreyer,角色为users、admins

9、设置管理控制台的用户名和密码

$ vi /home/dreyer02/activemq-01/conf/jetty.xml

确保authenticate的值为true(默认)

"securityConstraint" class="org.eclipse.jetty.util.security.Constraint"> "name" value="BASIC" /> "roles" value="user,admin" /> "authenticate" value="true" /> 

控制台的登录用户名和密码保存在conf/jetty-realm.properties文件中

$ vi /home/dreyer02/activemq-01/conf/jetty-realm.properties
# Defines users that can access the web (console, demo, etc.) # username: password [,rolename ...] admin: 123456, admin user: user, user

注意:用户名和密码的格式是

用户名:密码,角色名

重启ActiveMQ

$ /home/dreyer02/activemq-01/bin/activemq restart

10、设置开机启动

# vi /etc/rc.local
添加
## ActiveMQ su - dreyer02-c '/home/dreyer02/activemq-01/bin/activemq start'

原文转自:https://www.jianshu.com/p/3568f8011112
作者:会跳舞的机器人

afdcf5a26e59ac4cdc8a40f234912537.png

e0ea03cbf27dff62aeef3a8d3fd7792d.png

324bd3f441014903250cb4dd99868b95.png

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐