在 Linux 系统上部署 Apache ActiveMQ 通常涉及下载、解压、配置、启动以及设置开机自启等步骤,以下是基于 CentOS/RHEL 或 Ubuntu/Debian 系统的标准部署指南。
📌 前置条件
Java 环境:ActiveMQ 依赖 Java,建议安装 JDK 8 或 JDK 11/17。
# 检查 Java 版本 java -version
如果没有安装,请先安装:
# CentOS/RHEL sudo yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel # Ubuntu/Debian sudo apt update sudo apt install openjdk-8-jdk
创建专用用户(推荐):出于安全考虑,不建议以 root 用户运行 ActiveMQ。
sudo groupadd activemq sudo useradd -g activemq -s /bin/bash -d /opt/activemq activemq
✅ 步骤 1:下载 ActiveMQ
前往 Apache ActiveMQ 官网 下载最新稳定版(Binary 版本)。
# 进入临时目录 cd /tmp # 以 Apache ActiveMQ 5.17.0 为例(请替换为最新版本) wget https://archive.apache.org/dist/activemq/5.17.0/apache-activemq-5.17.0-bin.tar.gz
✅ 步骤 2:解压并安装
# 创建安装目录 sudo mkdir -p /opt/activemq # 解压到安装目录 sudo tar -xzvf apache-activemq-5.17.0-bin.tar.gz -C /opt/activemq/ # 重命名目录(可选,便于管理) sudo mv /opt/activemq/apache-activemq-5.17.0 /opt/activemq/activemq # 修改权限,确保 activemq 用户有访问权限 sudo chown -R activemq:activemq /opt/activemq/activemq

✅ 步骤 3:配置 ActiveMQ(可选但推荐)
修改 JVM 内存配置
编辑 conf/wrapper.conf 文件,根据服务器内存调整堆大小:
sudo vi /opt/activemq/activemq/conf/wrapper.conf
找到以下行并修改:
# 最小堆内存 wrapper.java.initmemory=256 # 最大堆内存 wrapper.java.maxmemory=1024
修改管理控制台密码(安全加固)
编辑 conf/jetty-realm.properties:
sudo vi /opt/activemq/activemq/conf/jetty-realm.properties
修改管理员账号密码:
admin: admin_password, admin user: user_password, user
修改监听端口(可选)
编辑 conf/activemq.xml,修改 transportConnectors 部分:
<transportConnectors>
<!-- 默认端口 61616 -->
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616"/>
<!-- 如果需要启用 SSL 或其他协议,可在此添加 -->
</transportConnectors> ✅ 步骤 4:启动 ActiveMQ
前台启动(用于测试)
sudo -u activemq /opt/activemq/activemq/bin/activemq start
后台启动(推荐)
sudo -u activemq /opt/activemq/activemq/bin/activemq start
⚠️ 注意:首次启动可能需要几分钟,因为 ActiveMQ 会初始化持久化存储。
查看日志

tail -f /opt/activemq/activemq/data/activemq.log
✅ 步骤 5:设置开机自启(Systemd)
创建 systemd 服务文件:
sudo vi /etc/systemd/system/activemq.service
[Unit] Description=Apache ActiveMQ After=network.target [Service] Type=forking User=activemq Group=activemq ExecStart=/opt/activemq/activemq/bin/activemq start ExecStop=/opt/activemq/activemq/bin/activemq stop Restart=on-failure [Install] WantedBy=multi-user.target
启用并启动服务:
sudo systemctl daemon-reload sudo systemctl enable activemq sudo systemctl start activemq sudo systemctl status activemq
✅ 步骤 6:防火墙配置
Linux 启用了防火墙,需开放以下端口:
| 端口 | 用途 |
|---|---|
61616 | ActiveMQ 默认 TCP 通信端口 |
8161 | Web 管理控制台 HTTP 端口 |
CentOS/RHEL (firewalld):
sudo firewall-cmd --permanent --add-port=61616/tcp sudo firewall-cmd --permanent --add-port=8161/tcp sudo firewall-cmd --reload
Ubuntu/Debian (ufw):
sudo ufw allow 61616/tcp sudo ufw allow 8161/tcp
✅ 步骤 7:验证部署
检查服务状态:
curl http://localhost:8161/admin/
如果看到登录页面,说明成功。
访问管理控制台

:
浏览器打开:http://<你的服务器IP>:8161/admin/- 用户名:
admin - 密码:你在
jetty-realm.properties中设置的密码
- 用户名:
测试消息收发:
可使用 ActiveMQ 自带的bin/activemq console或编写简单 Java 客户端进行测试。
🔒 安全建议
禁止远程访问管理控制台:
编辑conf/jetty.xml,将jettyPort的绑定地址改为0.0.1,仅允许本地访问管理界面。<Call name="addConnector"> <Arg> <New class="org.eclipse.jetty.server.nio.SelectChannelConnector"> <Set name="host">127.0.0.1</Set> <!-- 改为 127.0.0.1 --> <Set name="port">8161</Set> </New> </Arg> </Call>启用 SSL/TLS:
在生产环境中,建议为openwire和stomp等协议启用 SSL 加密。定期更新:
Apache ActiveMQ 5.x 已进入维护模式,建议考虑迁移到 ActiveMQ Artemis(新一代消息中间件)。
🔄 如何停止/重启 ActiveMQ
# 停止 sudo systemctl stop activemq # 重启 sudo systemctl restart activemq # 查看状态 sudo systemctl status activemq
如有特定需求(如集群部署、持久化配置、与 Spring Boot 集成等),可进一步说明,我将提供详细配置方案。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复