ActiveMQ 是 Apache 软件基金会旗下一个功能强大、广受欢迎的开源消息中间件,它实现了 Java 消息服务(JMS)1.1 规范,并提供多种跨语言客户端和协议支持,在稳定可靠的 CentOS 7 服务器上部署 ActiveMQ,能够为分布式系统提供高效、可扩展的消息通信能力,本文将详细介绍在 CentOS 7 环境下安装、配置和管理 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
下载安装包
访问 ActiveMQ 官方网站或直接使用wget
命令下载最新的稳定版,以 ActiveMQ 5.15.9 为例:wget http://archive.apache.org/dist/activemq/5.15.9/apache-activemq-5.15.9-bin.tar.gz
解压与部署
将下载的压缩包解压到/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:
/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
服务。
创建服务文件
使用vim
或其他编辑器创建服务文件:sudo vim /etc/systemd/system/activemq.service
填入以下内容
[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
启用并启动服务
sudo systemctl daemon-reload sudo systemctl enable activemq sudo systemctl start activemq
之后,就可以使用
systemctl status activemq
、systemctl 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 协议客户端连接端口 |
在配置防火墙或网络策略时,应根据实际使用的协议开放相应的端口。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复