RabbitMQ安装配置1
需积分: 0 117 浏览量
更新于2022-08-08
收藏 34KB DOCX 举报
**RabbitMQ安装配置详解**
RabbitMQ是一个广泛使用的开源消息代理和队列服务器,它基于AMQP(Advanced Message Queuing Protocol)协议实现。在本文中,我们将详细讲解如何在Linux环境中安装和配置RabbitMQ。
安装必要的依赖项。`erlang`是RabbitMQ运行的基础,因此必须先安装它。你可以从官方网站http://www.erlang.org/downloads下载适用于你的操作系统的版本。在Linux环境下,可以使用以下命令进行安装:
```bash
wget http://www.erlang.org/download/otp_src_20.1.tar.gz
tar xf otp_src_20.1.tar.gz
cd otp_src_20.1
./configure --prefix=/usr/local/erlang20 --without-javac
make
make install
erl # 验证erlang是否安装成功
```
接下来,我们需要安装Python和相关库,因为RabbitMQ的管理插件需要它们:
```bash
yum install python -y
yum install xmlto -y
yum install python-simplejson -y
```
然后,我们下载并安装RabbitMQ。你可以从官方下载页面http://www.rabbitmq.com/download.html获取最新版本。这里我们以版本3.6.14为例:
```bash
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.14/rabbitmq-server-generic-unix-3.6.14.tar.xz
xz -d rabbitmq-server-generic-unix-3.6.14.tar.xz
tar xf rabbitmq-server-generic-unix-3.6.14.tar
mv rabbitmq_server-3.6.14 /usr/local/rabbitmq
```
设置环境变量以便于访问RabbitMQ二进制文件:
```bash
export PATH=$PATH:/usr/local/ruby/bin:/usr/local/erlang20/bin:/usr/local/rabbitmq/sbin
source /etc/profile
```
启动RabbitMQ服务:
```bash
./rabbitmq-server
```
默认情况下,RabbitMQ监听5672端口。你可以通过`rabbitmqctl`工具进行其他管理操作,例如停止服务:
```bash
rabbitmqctl stop
```
为了允许`guest`用户远程连接,需要修改RabbitMQ的配置文件。打开`/usr/local/rabbitmq/etc/rabbitmq/rabbitmq.config`,添加以下内容:
```erlang
[{rabbit, [{loopback_users, []}]}].
```
RabbitMQ的管理控制台默认是禁用的,可以使用以下命令启用:
```bash
./sbin/rabbitmq-plugins enable rabbitmq_management
```
重启RabbitMQ服务以应用更改:
```bash
./rabbitmq-server restart
```
现在,你可以通过浏览器访问管理控制台了:http://127.0.0.1:15672,使用默认的用户名`guest`和密码`guest`登录。
关于消息路由,RabbitMQ支持四种主要的路由模式:
1. **Direct交换器**:根据路由键精确匹配。
2. **Fanout交换器**:不关心路由键,将消息广播到所有绑定的队列。
3. **Topic交换器**:允许使用通配符匹配路由键,如`*`表示一个单词,`#`表示零个或多个单词。
4. **Header交换器**:基于消息头部的属性进行匹配,而非路由键。
如果你正在使用Spring框架与RabbitMQ集成,可以在`pom.xml`中添加以下依赖:
```xml
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit</artifactId>
<version>1.4.5.RELEASE</version>
</dependency>
```
同时,你需要在`spring-context-mq.xml`中配置RabbitMQ的相关设置,并在`mq.properties`中定义队列和交换器的属性。在`QueueController.java`、`Consumer.java`、`Producer.java`和`ManualConsumer.java`中编写处理消息的代码。
为了确保消息在服务器重启后不丢失,可以采取以下措施:
1. **Exchange持久化**:在创建交换器时设置`durable`属性为`true`。
2. **Queue持久化**:在声明队列时设置`durable`属性为`true`。
3. **MessageDeliveryMode持久**:在发送消息时,设置`MessageDeliveryMode`为`MessageDeliveryMode.PERSISTENT`。
4. **消息手动确认**:启用消费者的消息确认机制,只有当消息被正确处理后,消费者才会发送确认,这样即使服务器重启,未确认的消息也会被重新投递。
以上就是RabbitMQ的基本安装配置及消息持久化的详细步骤。记得根据实际情况调整版本号和路径,以适应你的系统环境。

陈后主
- 粉丝: 39
最新资源
- 小游戏五子棋JAVA程序设计.doc
- 综合项目管理大知识标准体系.docx
- 江苏省建设厅项目管理表样本.doc
- 系统集成项目管理工程师考试题库系统集成技术试题汇中样本.doc
- 上半年信息系统项目管理师参考答案及解析.doc
- 物联网期末设计.doc
- 运筹学图与网络分析.ppt
- 如何做好软件系统演示.ppt
- 基于RRTConnect算法的双履带起重机路径规划研究论文.doc
- 网络工程专业大学生职业生涯规划书范文字.doc
- 开放型计算机网络实验室建设路径研究获奖科研报告论文.docx
- 愿望网站策划案.doc
- 网络传播概论全书整本书电子教案教学教程.pptx
- 网络设备调试员(高级)实践操作题.doc
- 数控编程的工艺处理ppt课件.ppt
- (完整版)螺纹连接计算(附Excel计算).doc