搭建JEESZ分布式架构--消息中间件安装单、多节点

186 阅读1分钟

1、 安装JDK 并配置环境变量

JAVA_HOME=/usr/local/java/jdk1.7(之前做过了,这边就不做重复操作)

2、 下载Linux 版的 ActiveMQ(我这边使用apache-activemq-5.11.1-bin.tar.gz)

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

3、 解压安装$ tar -zxvf apache-activemq-5.11.1-bin.tar.gz

$ mv apache-activemq-5.11.1 activemq-01

$ cd /home/jeesz/activemq-01/bin/

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

ActiveMQ 需要用到两个端口

一个是消息通讯的端口(默认为 61616)

一个是管理控制台端口(默认为 8161)可在 conf/jetty.xml 中修改

#vi /etc/sysconfig/iptables

添加:

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

-A INPUT -m state --stateNEW -m tcp -p tcp --dport 8161 -j ACCEPT

重启防火墙:

#service iptables restart

5、 启动

$ cd /home/jeesz/activemq-01/bin

$ ./activemq start

6、 打开管理界面:xx.xx.xx.xx:8161

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

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

ActiveMQ 如果不加入安全机制的话,任何人只要知道消息服务的具体地址(包括 ip,端口,消息地址 [队列或者主题地址],), 都可以肆无忌惮的 发送、 接收消息。 关 于 ActiveMQ 安装配置 activemq.apache.org/security.ht…

ActiveMQ 的消息安全配置策略有多种,我们以简单授权配置为例:

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

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

 <plugins>
       <simpleAuthenticationPlugin>
           <users>
               <authenticationUser username="jeesz" password=" jeesz" groups="users,admins"/>
           </users>
       </simpleAuthenticationPlugin>
    </plugins>

定义了一个 jeesz用户,密码为 jeesz,角色为 users,admins

设置 admin 的用户名和密码:

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

      <beanid="securityConstraint" class="org.eclipse.jetty.util.security.Constraint">
    <property name="name"value="BASIC" />
    <property name="roles"value="user,admin" />
    <!-- set authenticate=false todisable login -->
    <property name="authenticate"value="true" />
</bean>

确保 authenticate 的值为 true(默认)

控制台的登录用户名密码保存在conf/jetty-realm.properties 文件中,内容如下:

$ vi /home/jeesz /activemq-01/conf/jetty-realm.properties

#Defines users that can access the web (console, demo,etc.)

#username: password [,rolename ...]

admin:jeesz admin

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

用户名 : 密码 ,角色名

设置开机启动:

#vi /etc/rc.local

加入以下内容

##ActiveMQ

su - jeesz-c'/home/jeesz/activemq-01/bin/activemq start'