ActiveMQ在銀河麒麟服務(wù)器版上安裝方法
在銀河麒麟服務(wù)器版(基于Linux)上安裝ActiveMQ需要特別注意系統(tǒng)兼容性和國產(chǎn)化環(huán)境的適配
一、環(huán)境準(zhǔn)備
1. 確認(rèn)系統(tǒng)架構(gòu)
uname -m # 銀河麒麟常見架構(gòu): # - x86_64(Intel/AMD) # - aarch64(飛騰/鯤鵬等國產(chǎn)CPU)
2. 安裝依賴
# 銀河麒麟V10 SP1+需先配置軟件源 sudo yum makecache # 或 apt update(視系統(tǒng)版本而定) # 安裝Java(推薦OpenJDK 8/11) sudo yum install -y java-11-openjdk-devel # 麒麟V10 # 或 sudo apt install -y openjdk-11-jdk # 麒麟V4 # 驗(yàn)證Java java -version
二、安裝ActiveMQ
一、上傳 二進(jìn)制包安裝方式
下載適配的ActiveMQ版本(建議5.16.x+)
https://archive.apache.org/dist/activemq/5.16.6/apache-activemq-5.16.6-bin.tar.gz
在瀏覽器中下載

解壓后

在根目錄下的 opt 目錄中 新建目錄 activemq
注:不能是在root目錄下安裝ActiveMQ 有權(quán)限問題 ( 非常重要 )


將解壓后這個(gè)目錄下的所有文件 上傳到 activemq 目錄中


二、修改 IP 地址 綁定
ActiveMQ默認(rèn)可能只綁定 127.0.0.1
編輯 conf/jetty.xml

原:

改為 0.0.0.0

修改好后,上傳 覆蓋原文件
三、創(chuàng)建專用用戶:activemq
sudo useradd -r -s /sbin/nologin activemq #創(chuàng)建activemq用戶 sudo chown -R activemq:activemq /opt/activemq #賦目錄權(quán)限 id activemq #查看是否有此用戶

四、創(chuàng)建Systemd服務(wù)
進(jìn)到 /opt/activemq 目錄中

執(zhí)行
sudo tee /etc/systemd/system/activemq.service <<EOF [Unit] Description=ActiveMQ Service After=network.target [Service] User=activemq Group=activemq Type=forking ExecStart=/opt/activemq/bin/activemq start ExecStop=/opt/activemq/bin/activemq stop Restart=on-failure LimitNOFILE=65536 [Install] WantedBy=multi-user.target EOF
復(fù)制過去后,按回車執(zhí)行

注意:路徑要一致
五、檢查腳本權(quán)限和內(nèi)容
# 確認(rèn)腳本可執(zhí)行權(quán)限 ls -l /opt/activemq/bin/activemq # 應(yīng)顯示:-rwxr-xr-x # 如果沒有執(zhí)行權(quán)限: sudo chmod +x /opt/activemq/bin/activemq # 檢查腳本第一行(shebang) head -1 /opt/activemq/bin/activemq # 應(yīng)顯示有效的解釋器路徑,如:#!/bin/sh

六、重載服務(wù)配置
# 強(qiáng)制重載systemd配置 sudo systemctl daemon-reload # 清除之前的失敗狀態(tài) sudo systemctl reset-failed activemq.service
七、啟動(dòng)與自啟
sudo systemctl start activemq #啟動(dòng)ActiveMQ服務(wù) sudo systemctl enable activemq #設(shè)置開機(jī)自動(dòng)啟動(dòng)服務(wù) sudo systemctl restart activemq #重啟服務(wù)
八、查看ActiveMQ運(yùn)行狀態(tài)
sudo systemctl status activemq

九、檢查服務(wù)狀態(tài)
sudo systemctl status activemq.service -l
一、錯(cuò)誤代碼:status=217/USER

表示 systemd 無法以指定用戶身份運(yùn)行服務(wù)(用戶不存在/權(quán)限不足)
路徑問題:ActiveMQ 被安裝在 /root/opt/activemq(root 家目錄下會(huì)導(dǎo)致權(quán)限問題)
解決方法:將ActiveMQ安裝文件移出root目錄下即可。
因?yàn)槁窂阶兓耍枰薷腟ystemd服務(wù)配置 并 強(qiáng)制重載systemd服務(wù)配置
還有一種可能就是第三步創(chuàng)建 activemq 用戶沒有成功
重新創(chuàng)建activemq用戶
查看 ActiveMQ 服務(wù)配置文件,確認(rèn)指定的運(yùn)行用戶的名稱,默認(rèn)配置運(yùn)行用戶是 activemq
找到類似 User=activemq 或 User=xxx 的配置行,記錄該用戶名(例如 activemq)
sudo cat /etc/systemd/system/activemq.service

檢查系統(tǒng)中是否存在該用戶
id activemq # 將 activemq 替換為配置文件中的實(shí)際用戶名
如果顯示 id: ‘a(chǎn)ctivemq’: no such user,說明用戶不存在,需要?jiǎng)?chuàng)建
sudo useradd -r -s /sbin/nologin activemq # 創(chuàng)建系統(tǒng)用戶(無登錄權(quán)限)
確保 ActiveMQ 安裝目錄(通常是 /opt/activemq)的所有者為配置文件中指定的用戶
sudo chown -R activemq:activemq /opt/activemq
再重新加載配置并啟動(dòng)服務(wù)
sudo systemctl daemon-reload # 重新加載服務(wù)配置 sudo systemctl start activemq #啟動(dòng)服務(wù)

二、錯(cuò)誤代碼: status=203/EXEC

表示 systemd 無法執(zhí)行 /opt/activemq/bin/activemq 腳本 ,權(quán)限不足
解決方法:執(zhí)行下面語句
# 確認(rèn)腳本可執(zhí)行權(quán)限 ls -l /opt/activemq/bin/activemq # 應(yīng)顯示:-rwxr-xr-x # 如果沒有執(zhí)行權(quán)限: sudo chmod +x /opt/activemq/bin/activemq # 檢查腳本第一行(shebang) head -1 /opt/activemq/bin/activemq # 應(yīng)顯示有效的解釋器路徑,如:#!/bin/sh

十、登陸網(wǎng)頁后臺(tái)
http://192.168.1.145:8161/admin/
注:192.168.1.145 為 ActiveMQ所安裝麒麟系統(tǒng)的IP地址
默認(rèn)用戶名: admin 密碼: admin


若無法連接,則詳看:http://www.rzrgm.cn/hailexuexi/p/19021135

浙公網(wǎng)安備 33010602011771號(hào)