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

相关推荐

  • 问道服务器容量升级背后,玩家人数激增,如何确保服务器稳定运行?

    在信息技术高速发展的今天,服务器作为承载各种应用程序和数据的核心设备,其容量已经成为衡量一个服务器性能的重要指标,以下将从几个方面探讨服务器容量的相关问题,服务器容量的定义1 容量的含义服务器容量通常指的是服务器硬件可以处理的数据量或存储空间,它包括CPU处理能力、内存大小、硬盘空间以及网络带宽等多个方面,2……

    2026-01-11
    007
  • access数据库有哪些功能?,access数据库怎么用?

    Access数据库的核心功能在于无需编写代码就能快速构建桌面级数据应用,尤其适合中小企业和部门级的数据录入、查询与报表业务,它把关系型数据库的引擎藏在了图形化的界面背后,让不熟悉SQL的人也能像搭积木一样搭建管理系统,下面我们从功能细节、价格选型到场景对比,把Access的底牌翻个底朝天,access数据库功能……

    2026-07-15
    004
  • 自己打服务器

    自己搭建服务器是一项既有趣又实用的技术实践,尤其适合需要更高自由度或特定功能的用户,无论是用于个人项目、家庭数据存储,还是小型企业应用,自己动手搭建服务器都能带来独特的体验,本文将从硬件选择、系统安装、软件配置到安全维护,逐步解析这一过程,帮助读者全面了解自己搭建服务器的关键环节,硬件选择:服务器的基石硬件是搭……

    2025-12-27
    004
  • 服务器加固态,选对型号能提升多少性能与稳定性?

    服务器加固态硬盘已成为现代数据中心和企业IT架构升级的关键举措,随着数据量的爆炸式增长和业务对实时性要求的提升,传统机械硬盘在性能、可靠性和能耗方面的局限性日益凸显,而固态硬盘以其技术优势为服务器带来了革命性的变化,性能飞跃:打破传统存储瓶颈固态硬盘采用闪存芯片和主控芯片架构,无机械寻道时间,随机读写性能可达机……

    2025-11-19
    005

发表回复

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

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

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

关注微信