linux搭建activeMQ服務器

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

JAVA_HOME=/home/huangkejie/java/jdk1.8.0_171java

在home/huangkejie下建立activeMQ目錄web

$ mkdir activeMQapache

$ cd activeMQ安全

下載Linux版的ActiveMQ(當前最新版apache-activemq-5.11.1-bin.tar.gzeclipse

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

 

解壓安裝spa

$ tar -zxvf apache-activemq-5.11.1-bin.tar.gzrest

$ mv apache-activemq-5.11.1 activemqxml

若是啓動腳本activemq沒有可執行權限,此時則須要受權(此步可選)

$ cd /home/huangkejie/activemq/bin/

$ chmod 777 ./activemq

 

防火牆中打開對應的端口

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

 

啓動

$ cd /home/huangkejie/activemq/bin

$ ./activemq start

打開管理界面:http://192.168.186.134:8161

點擊Manage ActiveMQ broker超連接輸入默認用戶名和密碼爲:admin/admin

 

登陸後進入

 

 

安全配置(消息安全)

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

 

ActiveMQ的消息安全配置策略有多種,咱們以簡單受權配置爲例:

在conf/activemq.xml文件中在broker結束標籤前加入如下內容便可:

$ vi /home/huangkejie/activemq/conf/activemq.xml

<plugins>

     <simpleAuthenticationPlugin>

     <users>

         <authenticationUser username="huangkejie" password="huangkejie" groups="users,admins"/>

     </users>

     </simpleAuthenticationPlugin>

</plugins>

定義了一個huangkejie用戶,密碼爲huangkejie,角色爲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的密碼爲huangkejie,新增了huangkejie的用戶,密碼爲huangkejie,角色爲admin

重啓:

$ /home/huangkejie/activemq/bin/activemq restart

設置開機啓動:

# vi /etc/rc.local

加入如下內容

## ActiveMQ

su - huangkejie -c '/home/huangkejie/activemq/bin/activemq start'

相關文章
相關標籤/搜索