如何在CentOS7上安装并配置ActiveMQ服务?

ActiveMQ 是 Apache 软件基金会旗下一个功能强大、广受欢迎的开源消息中间件,它实现了 Java 消息服务(JMS)1.1 规范,并提供多种跨语言客户端和协议支持,在稳定可靠的 CentOS 7 服务器上部署 ActiveMQ,能够为分布式系统提供高效、可扩展的消息通信能力,本文将详细介绍在 CentOS 7 环境下安装、配置和管理 ActiveMQ 的完整流程。

如何在CentOS7上安装并配置ActiveMQ服务?

环境准备

在开始安装之前,必须确保 CentOS 7 系统已安装 Java 运行环境(JRE)或 Java 开发工具包(JDK),因为 ActiveMQ 是基于 Java 构建的,推荐使用 JDK 1.8 或更高版本,可以通过以下命令检查 Java 是否已安装及其版本:

java -version

如果系统提示未找到命令,则需要先安装 Java,可以使用 yum 命令进行安装:

sudo yum install -y java-1.8.0-openjdk-devel

确保系统已安装 wget 工具,用于下载 ActiveMQ 安装包。

下载与安装 ActiveMQ

  1. 下载安装包
    访问 ActiveMQ 官方网站或直接使用 wget 命令下载最新的稳定版,以 ActiveMQ 5.15.9 为例:

    wget http://archive.apache.org/dist/activemq/5.15.9/apache-activemq-5.15.9-bin.tar.gz
  2. 解压与部署
    将下载的压缩包解压到 /opt 目录下,这是一个存放可选第三方软件的常用目录。

    sudo tar -zxvf apache-activemq-5.15.9-bin.tar.gz -C /opt

    为了便于后续版本升级和管理,可以创建一个符号链接:

    sudo ln -s /opt/apache-activemq-5.15.9 /opt/activemq

配置防火墙

CentOS 7 默认使用 firewalld 作为防火墙管理工具,ActiveMQ 默认需要开放两个主要端口:8161(Web 控制台)和 61616(消息代理服务的主要通信端口),执行以下命令开放这些端口:

sudo firewall-cmd --zone=public --add-port=8161/tcp --permanent
sudo firewall-cmd --zone=public --add-port=61616/tcp --permanent
sudo firewall-cmd --reload

启动与管理 ActiveMQ

ActiveMQ 的启动脚本位于其 bin 目录中。

  • 启动 ActiveMQ:

    如何在CentOS7上安装并配置ActiveMQ服务?

    /opt/activemq/bin/activemq start
  • 检查运行状态:

    /opt/activemq/bin/activemq status

    或者通过查看进程:

    ps -ef | grep activemq
  • 停止 ActiveMQ:

    /opt/activemq/bin/activemq stop

访问 Web 管理控制台

启动成功后,可以通过浏览器访问 ActiveMQ 的 Web 管理控制台,在浏览器地址栏输入:

http://<您的服务器IP地址>:8161/admin

系统会弹出身份验证窗口,默认的用户名和密码均为 admin,登录后,您可以在直观的界面中监控队列、主题、连接和消息等状态。

配置为系统服务

为了实现 ActiveMQ 服务的开机自启和更便捷的管理,建议将其配置为 systemd 服务。

  1. 创建服务文件
    使用 vim 或其他编辑器创建服务文件:

    sudo vim /etc/systemd/system/activemq.service
  2. 填入以下内容

    如何在CentOS7上安装并配置ActiveMQ服务?

    [Unit]
    Description=ActiveMQ Service
    After=network.target
    [Service]
    Type=forking
    User=root
    Group=root
    ExecStart=/opt/activemq/bin/activemq start
    ExecStop=/opt/activemq/bin/activemq stop
    ExecStatus=/opt/activemq/bin/activemq status
    Restart=on-abort
    TimeoutSec=300
    [Install]
    WantedBy=multi-user.target
  3. 启用并启动服务

    sudo systemctl daemon-reload
    sudo systemctl enable activemq
    sudo systemctl start activemq

    之后,就可以使用 systemctl status activemqsystemctl stop activemq 等命令来管理服务了。


相关问答FAQs

问题1:如何修改 ActiveMQ Web 控制台的管理员密码?

解答: 默认的管理员密码存在安全风险,应立即修改,密码配置文件位于 ActiveMQ 安装目录的 conf 子目录下,文件名为 jetty-realm.properties,使用编辑器打开此文件:
sudo vim /opt/activemq/conf/jetty-realm.properties格式为 用户名: 密码, 角色,要将 admin 用户的密码修改为 your_new_password,可以修改为:
admin: your_new_password, admin
保存文件后,重启 ActiveMQ 服务即可使新密码生效。

问题2:ActiveMQ 默认还使用了哪些其他重要端口?

解答: 除了 Web 控制台(8161)和核心消息协议(61616)外,ActiveMQ 还默认监听其他端口以支持不同的通信协议,下表列出了部分常用端口:

端口号 协议 描述
61616 TCP OpenWire 协议,默认的客户端连接端口
8161 HTTP Web 控制台和 REST API 端口
61613 STOMP STOMP 协议客户端连接端口
5672 AMQP AMQP 1.0 协议客户端连接端口
61614 MQTT MQTT 协议客户端连接端口

在配置防火墙或网络策略时,应根据实际使用的协议开放相应的端口。

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

(0)
热舞的头像热舞
上一篇 2025-10-05 00:32
下一篇 2025-10-05 00:33

相关推荐

发表回复

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

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

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

关注微信