1. 程式人生 > >Linux安裝和使用ActiveMQ

Linux安裝和使用ActiveMQ

Linux安裝和使用ActiveMQ

作者:俊仔

linux版本:CentOS7.5

ActiveMQ版本:5.15.6

執行環境:JDK8

  1. 官網下載ActiveMQ壓縮包

  1. 傳輸到Linux伺服器

用winSCP或Xftp

  1. 解壓和使用

進入檔案目錄

cd /usr/local/

解壓

tar -zxvf apache-activemq-5.15.6-bin.tar.gz

  1. 關閉防火牆和SElinux

以防萬一,關閉防火牆:

systemctl stop firewalld

關閉SElinux:

setenforce 0

  1. 防火牆的設定

新增8161和61616埠號:

(--permanent永久生效,沒有此引數重啟後失效)

firewall-cmd --zone=public --add-port=8161/tcp --permanent

firewall-cmd --zone=public --add-port=61616/tcp --permanent

重新載入

firewall-cmd --reload

檢視埠是否設定成功:

firewall-cmd --zone=public --list-ports

刪除

firewall-cmd --zone= public --remove-port=8161/tcp –permanent

  1. 啟動ActiveMQ

進入ActiveMQ解壓目錄的bin目錄

cd apache-activemq-5.15.6/bin/

啟動ActiveMQ並列印日誌

./activemq start | cat ../../data/activemq.log

檢查埠情況

netstat -lundp

  1. 瀏覽器訪問

(192.168.232.131,這裡為我的伺服器地址)

預設賬號密碼都是admin,這個使用者名稱密碼是在conf/users.properties中配置。出現下圖表示啟動成功,ActiveMQ預設啟動埠8161

  1. 常用命令

    啟動服務:./activemq start

    檢視狀態:./activemq status

    檢視日誌:./activemq console

停止服務:./activemq stop

  1. 加入到系統服務

把activemq複製到opt目錄

cp apache-activemq-5.15.3 /opt/activemq

建立軟鏈到/etc/init.d

ln -s /opt/activemq/bin/activemq /etc/init.d/activemq

修改activemq檔案

vim /etc/init.d/activemq
## 修改BEGIN INIT INFO
### BEGIN INIT INFO
# Provides:          activemq
# Required-Start:    $remote_fs $network $syslog
# Required-Stop:     $remote_fs $network $syslog
# Default-Start:     3 5
# Default-Stop:      0 1 6
# Short-Description: Starts ActiveMQ
# Description:       Starts ActiveMQ Message Broker Server
# chkconfig: 2345 64 36  
# Short-Description:    ActiveMQ server
### END INIT INFO
## 最後一個#加入
export JAVA_HOME=/opt/java
ACTIVEMQ_HOME=/opt/activemq

加入到系統服務

cd /etc/init.d/
chkconfig --add activemq
##檢視系統服務
chkconfig --list

啟動/關閉activemq

service activemq start
service activemq stop

加入到開機啟動項

chkconfig activemq on
  1. 異常解決
  1. wrapper | <-- Wrapper Stopped

解決方案:

修改 conf->activemq.xml 配置檔案中的

<transportConnectors> <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB --> <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> </transportConnectors>

改為

<transportConnectors>

           <!--

 DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->

           <transportConnector

name="openwire" uri="tcp://127.0.0.1:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>

           <transportConnector

 name="amqp" uri="amqp://127.0.0.1:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>

           <transportConnector name="stomp" uri="stomp://127.0.0.1:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>

           <transportConnector

 name="mqtt" uri="mqtt://127.0.0.1:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>

           <transportConnector

 name="ws" uri="ws://127.0.0.1:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>

       </transportConnectors>

將0.0.0.0改為127.0.0.1

  1. Unable to execute Java command

修改wrapper.conf檔案

wrapper.java.command=java

改為(路徑為你本機的JDK的java路徑)

wrapper.java.command=C:/Program Files/Java/jdk1.8.0_131/bin/java.exe