下载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)ActiveMQ用到两个端口:
一个是消息通讯的端口(默认为61616)一个是管理控制台端口(8161),可以在conf/jetty.xml中修改,如下: <bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start"> <property name="host" value="0.0.0.0"/> <property name="port" value="8161"/> </bean>切换到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会看到输出
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 activemq7、打开管理界面
默认的用户名和密码为:admin/admin
登录后的界面
各个参数说明:
Name:队列的名称 Number Of Pending Message:等待消费的消息 Number Of Consumeers:消费者的数量 Message Enqueued:进入队列的消息 Message Dequeued:出了队列的消息当有一个消息进入消息队列后,等待消费的消息是1,进入队列的消息是1。当消息消费后,等待消费的消息是0,进入队列的消息还是1,出了队列的消息是1,再来一条消息时,等待消费的消息是1,进入队列的消息是2,以此类推。
ActiveMQ如果不加入安全机制的话,那任何人只要知道消息的具体地址(IP、端口、消息地址【队列或者主题地址】),都可以肆无忌惮的发消息,接受消息。
Activemq的消息安全配置策略有很多种,我们以最简单的授权为例。
在conf/activemq.xml文件中,在broker标签最后加入以下内容即可
$ vi /home/dreyer02/activemq-01/conf/activemq.xml <plugins> <simpleAuthenticationPlugin> <users> <authenticationUser username="dreyer" password="dreyer" groups="users,admins"/> </users> </simpleAuthenticationPlugin> </plugins>意思为定义一个dreyer用户,密码为dreyer,角色为users、admins
确保authenticate的值为true(默认)
<bean id="securityConstraint" class="org.eclipse.jetty.util.security.Constraint"> <property name="name" value="BASIC" /> <property name="roles" value="user,admin" /> <property name="authenticate" value="true" /> </bean>控制台的登录用户名和密码保存在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原文转自:https://www.jianshu.com/p/3568f8011112 作者:会跳舞的机器人