Linux安裝和使用ActiveMQ
Linux安裝和使用ActiveMQ
作者:俊仔
linux版本:CentOS7.5
ActiveMQ版本:5.15.6
執行環境:JDK8
- 官網下載ActiveMQ壓縮包
- 傳輸到Linux伺服器
用winSCP或Xftp
- 解壓和使用
進入檔案目錄
cd /usr/local/
解壓
tar -zxvf apache-activemq-5.15.6-bin.tar.gz
- 關閉防火牆和SElinux
以防萬一,關閉防火牆:
systemctl stop firewalld
關閉SElinux:
setenforce 0
- 防火牆的設定
新增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
- 啟動ActiveMQ
進入ActiveMQ解壓目錄的bin目錄
cd apache-activemq-5.15.6/bin/
啟動ActiveMQ並列印日誌
./activemq start | cat ../../data/activemq.log
檢查埠情況
netstat -lundp
- 瀏覽器訪問
(192.168.232.131,這裡為我的伺服器地址)
預設賬號密碼都是admin,這個使用者名稱密碼是在conf/users.properties中配置。出現下圖表示啟動成功,ActiveMQ預設啟動埠8161
- 常用命令
啟動服務:./activemq start
檢視狀態:./activemq status
檢視日誌:./activemq console
停止服務:./activemq stop
- 加入到系統服務
把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
- 異常解決
- 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&wireFormat.maxFrameSize=104857600"/> <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&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
- 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