1. 程式人生 > >分布式架構實戰--ActiveMQ的安裝與使用(單節點)

分布式架構實戰--ActiveMQ的安裝與使用(單節點)

解壓 rain fin admins blank 生產者 new 安裝配置 節點

具體內容請參考樣例代碼和視頻教程:

http://www.roncoo.com/course/view/85d6008fe77c4199b0cdd2885eaeee53

IP:192.168.4.101

環境:CentOS 6.6、JDK7

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

JAVA_HOME=/usr/local/java/jdk1.7.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.4.101: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‘

8、 MQ消息生產者也與消息消費者的Demo樣例講解與演示

參考更多免費教程請加入Dubbo技術交流:548209960
Java高並發高可用架構:632103578

分布式架構實戰--ActiveMQ的安裝與使用(單節點)