您好,登录后才能下订单哦!
# Linux下如何安装ActiveMQ消息中间件
## 一、ActiveMQ简介
Apache ActiveMQ是一个开源的多协议消息中间件,支持JMS 1.1和J2EE 1.4规范。它具有以下核心特性:
- 支持多种协议(OpenWire, STOMP, AMQP, MQTT等)
- 提供持久化和非持久化消息传递
- 与Spring框架无缝集成
- 支持集群部署和高可用方案
- 提供消息分组、虚拟主题等高级特性
## 二、安装前准备
### 1. 系统要求
- Linux操作系统(本文以Ubuntu 20.04为例)
- Java环境(JDK 8或11)
- 至少1GB可用内存
- 2GB以上磁盘空间
### 2. 安装JDK
```bash
# Ubuntu/Debian
sudo apt update
sudo apt install openjdk-11-jdk
# 验证安装
java -version
访问Apache ActiveMQ官网获取最新稳定版:
wget https://downloads.apache.org/activemq/5.16.3/apache-activemq-5.16.3-bin.tar.gz
tar -xzvf apache-activemq-5.16.3-bin.tar.gz
sudo mv apache-activemq-5.16.3 /opt/activemq
编辑/etc/profile
文件:
sudo nano /etc/profile
添加以下内容:
export ACTIVEMQ_HOME=/opt/activemq
export PATH=$PATH:$ACTIVEMQ_HOME/bin
使配置生效:
source /etc/profile
主要配置文件位于$ACTIVEMQ_HOME/conf
目录:
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}">
<!-- 修改传输协议配置 -->
<transportConnectors>
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616"/>
</transportConnectors>
</broker>
<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
<property name="host" value="0.0.0.0"/>
<property name="port" value="8161"/>
</bean>
创建服务文件/etc/systemd/system/activemq.service
:
[Unit]
Description=Apache ActiveMQ
After=network.target
[Service]
Type=forking
User=activemq
Group=activemq
ExecStart=/opt/activemq/bin/activemq start
ExecStop=/opt/activemq/bin/activemq stop
Restart=on-abort
[Install]
WantedBy=multi-user.target
创建专用用户并设置权限:
sudo useradd -r activemq
sudo chown -R activemq:activemq /opt/activemq
启动服务:
sudo systemctl daemon-reload
sudo systemctl start activemq
sudo systemctl enable activemq
systemctl status activemq
浏览器访问:http://服务器IP:8161/admin
默认凭证:admin/admin
netstat -tulnp | grep java
# 应看到61616(OpenWire)和8161(Web)端口
# 手动启动
/opt/activemq/bin/activemq start
# 停止服务
/opt/activemq/bin/activemq stop
使用Web控制台: 1. 登录后进入”Queues”选项卡 2. 输入队列名称(如test.queue) 3. 点击”Create”按钮
// 使用JMS示例代码
ConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");
Connection connection = factory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Queue queue = session.createQueue("test.queue");
MessageProducer producer = session.createProducer(queue);
TextMessage message = session.createTextMessage("Hello ActiveMQ!");
producer.send(message);
编辑$ACTIVEMQ_HOME/conf/jetty-realm.properties
:
admin: NEW_PASSWORD, admin
keytool -genkey -alias activemq -keyalg RSA \
-keystore /opt/activemq/conf/broker.ks \
-storepass password -keypass password
修改activemq.xml:
<sslContext>
<sslContext keyStore="/opt/activemq/conf/broker.ks"
keyStorePassword="password"/>
</sslContext>
修改$ACTIVEMQ_HOME/bin/env
:
ACTIVEMQ_OPTS="-Xms512M -Xmx1024M"
检查防火墙设置:
sudo ufw allow 8161/tcp
调整策略配置:
<policyEntry queue=">" memoryLimit="32mb"/>
本文详细介绍了在Linux系统上安装配置ActiveMQ的完整流程。通过合理的配置优化和安全加固,可以构建出稳定可靠的企业级消息中间件环境。建议生产环境中: - 使用JDK 11 LTS版本 - 配置主从集群实现高可用 - 定期监控消息堆积情况 - 做好数据备份策略
如需更高级功能,可参考官方文档进行深度配置。 “`
注:实际使用时请根据具体ActiveMQ版本调整路径和配置参数。生产环境建议使用最新稳定版本并做好安全加固。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。