Linux如何部署ActiveMQ?ActiveMQ集群搭建教程

在 Linux 系统上部署 Apache ActiveMQ 通常涉及下载、解压、配置、启动以及设置开机自启等步骤,以下是基于 CentOS/RHELUbuntu/Debian 系统的标准部署指南。


📌 前置条件

  1. Java 环境:ActiveMQ 依赖 Java,建议安装 JDK 8JDK 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
  2. 创建专用用户(推荐):出于安全考虑,不建议以 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

Linux如何部署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 会初始化持久化存储。

查看日志

Linux如何部署ActiveMQ?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:验证部署

  1. 检查服务状态

    curl http://localhost:8161/admin/

    如果看到登录页面,说明成功。

  2. 访问管理控制台

    Linux如何部署ActiveMQ?ActiveMQ集群搭建教程


    浏览器打开:http://<你的服务器IP>:8161/admin/

    • 用户名:admin
    • 密码:你在 jetty-realm.properties 中设置的密码
  3. 测试消息收发
    可使用 ActiveMQ 自带的 bin/activemq console 或编写简单 Java 客户端进行测试。


🔒 安全建议

  1. 禁止远程访问管理控制台
    编辑 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>
  2. 启用 SSL/TLS
    在生产环境中,建议为 openwirestomp 等协议启用 SSL 加密。

  3. 定期更新
    Apache ActiveMQ 5.x 已进入维护模式,建议考虑迁移到 ActiveMQ Artemis(新一代消息中间件)。


🔄 如何停止/重启 ActiveMQ

# 停止
sudo systemctl stop activemq
# 重启
sudo systemctl restart activemq
# 查看状态
sudo systemctl status activemq

如有特定需求(如集群部署、持久化配置、与 Spring Boot 集成等),可进一步说明,我将提供详细配置方案。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2026-07-10 17:06
下一篇 2026-07-10 17:11

相关推荐

  • 怎么查一列重复数据库

    在数据处理和管理过程中,识别和查找重复数据是一项常见且重要的任务,无论是使用Excel、数据库管理系统还是编程语言,掌握有效的方法来检测重复数据都能帮助提高数据质量、避免错误分析结果,本文将详细介绍如何在不同场景下查找一列中的重复数据,包括使用Excel函数、数据库查询语句以及编程工具的具体步骤和技巧,使用Ex……

    2025-12-25
    007
  • Chrome Web服务器能本地搭建网站吗?新手如何用Chrome Web服务器测试网页?

    Chrome Web 服务器是一个由谷歌开发的轻量级本地服务器工具,旨在帮助开发者在本地环境中快速测试和调试网页应用,它无需复杂的配置,只需几步操作即可启动,非常适合前端开发、静态网站托管以及原型设计等场景,以下将从功能特点、使用方法、适用场景及注意事项等方面详细介绍这一工具,什么是 Chrome Web 服务……

    2025-12-10
    005
  • 服务器内存支持台式机吗,普通电脑能用服务器内存吗

    服务器内存与台式机内存存在物理接口和电气特性的相似性,但在绝大多数情况下,普通台式机无法直接使用服务器内存,反之亦然,能否兼容取决于主板芯片组、内存控制器对ECC(纠错码)和Register(寄存器)功能的支持程度,若强行使用不兼容的内存条,电脑通常无法点亮,或者即使能点亮也会出现性能下降、蓝屏等不稳定现象,关……

    2026-02-24
    0022
  • 国内隐私保护系统全方位守护数据安全,国内隐私保护系统如何选哪家好?

    国内隐私保护服务应用系统的核心价值在数据驱动的商业环境中,完善的隐私保护系统已成为企业生存与发展的核心基础设施,它不仅满足法律合规要求,更是构建用户信任、提升品牌价值的关键引擎, 隐私保护为何成为企业刚需多重因素驱动隐私保护需求爆发性增长:法规高压态势:《个人信息保护法》实施以来,处罚案例激增,2023年某电商……

    2026-04-19
    004

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信