ActiveMQ在银河麒麟服务器版上安装方法
在银河麒麟服务器版(基于Linux)上安装ActiveMQ需要特别注意系统兼容性和国产化环境的适配
一、环境准备
1. 确认系统架构
uname -m # 银河麒麟常见架构: # - x86_64(Intel/AMD) # - aarch64(飞腾/鲲鹏等国产CPU)
2. 安装依赖
# 银河麒麟V10 SP1+需先配置软件源 sudo yum makecache # 或 apt update(视系统版本而定) # 安装Java(推荐OpenJDK 8/11) sudo yum install -y java-11-openjdk-devel # 麒麟V10 # 或 sudo apt install -y openjdk-11-jdk # 麒麟V4 # 验证Java java -version
二、安装ActiveMQ
一、上传 二进制包安装方式
下载适配的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 有权限问题 ( 非常重要 )
将解压后这个目录下的所有文件 上传到 activemq 目录中
二、修改 IP 地址 绑定
ActiveMQ默认可能只绑定 127.0.0.1
编辑 conf/jetty.xml
原:
改为 0.0.0.0
修改好后,上传 覆盖原文件
三、创建专用用户:activemq
sudo useradd -r -s /sbin/nologin activemq #创建activemq用户 sudo chown -R activemq:activemq /opt/activemq #赋目录权限 id activemq #查看是否有此用户
四、创建Systemd服务
进到 /opt/activemq 目录中
执行
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
复制过去后,按回车执行
注意:路径要一致
五、检查脚本权限和内容
# 确认脚本可执行权限 ls -l /opt/activemq/bin/activemq # 应显示:-rwxr-xr-x # 如果没有执行权限: sudo chmod +x /opt/activemq/bin/activemq # 检查脚本第一行(shebang) head -1 /opt/activemq/bin/activemq # 应显示有效的解释器路径,如:#!/bin/sh
六、重载服务配置
# 强制重载systemd配置 sudo systemctl daemon-reload # 清除之前的失败状态 sudo systemctl reset-failed activemq.service
七、启动与自启
sudo systemctl start activemq #启动ActiveMQ服务 sudo systemctl enable activemq #设置开机自动启动服务 sudo systemctl restart activemq #重启服务
八、查看ActiveMQ运行状态
sudo systemctl status activemq
九、检查服务状态
sudo systemctl status activemq.service -l
一、错误代码:status=217/USER
表示 systemd 无法以指定用户身份运行服务(用户不存在/权限不足)
路径问题:ActiveMQ 被安装在 /root/opt/activemq(root 家目录下会导致权限问题)
解决方法:将ActiveMQ安装文件移出root目录下即可。
因为路径变化了,需要修改Systemd服务配置 并 强制重载systemd服务配置
还有一种可能就是第三步创建 activemq 用户没有成功
重新创建activemq用户
查看 ActiveMQ 服务配置文件,确认指定的运行用户的名称,默认配置运行用户是 activemq
找到类似 User=activemq 或 User=xxx 的配置行,记录该用户名(例如 activemq)
sudo cat /etc/systemd/system/activemq.service
检查系统中是否存在该用户
id activemq # 将 activemq 替换为配置文件中的实际用户名
如果显示 id: ‘activemq’: no such user
,说明用户不存在,需要创建
sudo useradd -r -s /sbin/nologin activemq # 创建系统用户(无登录权限)
确保 ActiveMQ 安装目录(通常是 /opt/activemq
)的所有者为配置文件中指定的用户
sudo chown -R activemq:activemq /opt/activemq
再重新加载配置并启动服务
sudo systemctl daemon-reload # 重新加载服务配置 sudo systemctl start activemq #启动服务
二、错误代码: status=203/EXEC
表示 systemd 无法执行 /opt/activemq/bin/activemq 脚本 ,权限不足
解决方法:执行下面语句
# 确认脚本可执行权限 ls -l /opt/activemq/bin/activemq # 应显示:-rwxr-xr-x # 如果没有执行权限: sudo chmod +x /opt/activemq/bin/activemq # 检查脚本第一行(shebang) head -1 /opt/activemq/bin/activemq # 应显示有效的解释器路径,如:#!/bin/sh
十、登陆网页后台
http://192.168.1.145:8161/admin/
注:192.168.1.145 为 ActiveMQ所安装麒麟系统的IP地址
默认用户名: admin 密码: admin
若无法连接,则详看:https://www.cnblogs.com/hailexuexi/p/19021135