1. 程式人生 > >Dubbo+Zookeeper架構—高階篇17—Linux安裝ActiveMQ訊息中介軟體

Dubbo+Zookeeper架構—高階篇17—Linux安裝ActiveMQ訊息中介軟體

IP:192.168.126.131   環境:CentOS 6.6、JDK8

1、 安裝 JDK 並配置環境變數(略)

JAVA_HOME=/usr/local/java/jdk1.8.0_72 

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 
如果啟動指令碼 activemq 沒有可執行許可權,此時則需要授權(此步可選) 
$ cd /home/wusc/activemq-01/bin/ 
$ chmod 755 ./activemq

4、 防火牆中開啟對應的埠 ActiveMQ 需要用到兩個埠 

一個是訊息通訊的埠(預設為 61616) 
一個是管理控制檯埠(預設為 8161)可在 conf/jetty.xml 中修改,如下: 
<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start"> 
  <!-- the default port number for the web console --> 
  <property name="host" value="0.0.0.0"/> 
  <property name="port" value="8161"/> 
</bean> 

# vi /etc/sysconfig/iptables 
新增: 
-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 

5、 啟動 $ cd /home/wusc/activemq-01/bin   

$ ./activemq start

6、 開啟管理介面:http://192.168.126.131:8161 

預設使用者名稱和密碼為:admin/admin 

登入後進入 

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

ActiveMQ 如果不加入安全機制的話,任何人只要知道訊息服務的具體地址(包括 ip,埠,訊息地址 [佇列或者主題地址],),都可以肆無忌憚的傳送、接收訊息。關於 ActiveMQ 安裝配置 http://activemq.apache.org/security.html

ActiveMQ 的訊息安全配置策略有多種,我們以簡單授權配置為例: 
在 conf/activemq.xml 檔案中在 broker 標籤內容中的最後加入以下內容即可: 
$ vi /home/wusc/activemq-01/conf/activemq.xml 
<plugins> 
 <simpleAuthenticationPlugin> 
 <users> 
  <authenticationUser username="wusc" password="wusc.123" groups="users,admins"/> 
 </users> 
 </simpleAuthenticationPlugin> 
</plugins> 
定義了一個 wusc 使用者,密碼為 wusc.123,角色為 users,admins 
 
設定 admin 的使用者名稱和密碼: 
$ vi /home/wusc/activemq-01/conf/jetty.xml 
<bean id="securityConstraint" class="org.eclipse.jetty.util.security.Constraint"> 
    <property name="name" value="BASIC" /> 
    <property name="roles" value="admin" /> 
    <property name="authenticate" value="true" /> 
</bean> 
確保 authenticate 的值為 true(預設) 
 
控制檯的登入使用者名稱密碼儲存在 conf/jetty-realm.properties 檔案中,內容如下: 
$ vi /home/wusc/activemq-01/conf/jetty-realm.properties 
# Defines users that can access the web (console, demo, etc.) 
# username: password [,rolename ...] 
admin: wusc.123, admin 
 
注意:使用者名稱和密碼的格式是 
使用者名稱 : 密碼 ,角色名 
 
重啟: 
$ /home/wusc/activemq-01/bin/activemq restart 
 
設定開機啟動: 
# vi /etc/rc.local 
加入以下內容 
## ActiveMQ 
su - wusc -c '/home/wusc/activemq-01/bin/activemq start'