RabbitMQ安装及简单使用
程序员文章站
2022-03-23 16:15:40
...
1、RabbitMQ简介
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件。RabbitMQ服务器是用Erlang语言编写的,Erlang是一种通用的面向并发的编程语言,可想RabbitMQ的并发能力。
RabbitMQ 整体上是一个生产者,消费者模型,主要负责接收,存储和转发消息。
2.windows下安装
官网下载及安装地址:https://www.rabbitmq.com/download.html
此次安装版本是3.4.1
由于RabbitMQ服务器是用Erlang语言编写,所以安装rabbitmq前需要先安装Erlang,
Erlang下载:http://www.erlang.org/download/otp_win64_17.3.exe。
百度云盘:https://pan.baidu.com/s/1E1JVhPBoTZkx90Zf5pmiuw
安装完Erlang,再安装RabbitMQ,
可以启动、停止、重新安装等。
3.启用管理工具
- 点击
- 输入命令:rabbitmq-plugins enable rabbitmq_management
- 在浏览器中输入地址查看:http://127.0.0.1:15672/
- 使用默认账号登录:guest/ guest
4、Linux下安装
4.1 安装Erlang
cd /usr/local/src/
mkdir rabbitmq
cd rabbitmq
wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
rpm --import http://packages.erlang-solutions.com/rpm/erlang_solutions.asc
sudo yum install erlang
4.2、安装RabbitMQ
安装文件可从百度云盘下载:https://pan.baidu.com/s/1E1JVhPBoTZkx90Zf5pmiuw
上传rabbitmq-server-3.4.1-1.noarch.rpm文件到/usr/local/src/rabbitmq/
安装:
rpm -ivh rabbitmq-server-3.4.1-1.noarch.rpm
启动、停止
service rabbitmq-server start
service rabbitmq-server stop
service rabbitmq-server restart
设置开机启动:
chkconfig rabbitmq-server on
设置配置文件:
cd /etc/rabbitmq
cp /usr/share/doc/rabbitmq-server-3.4.1/rabbitmq.config.example /etc/rabbitmq/
mv rabbitmq.config.example rabbitmq.config
开启用户远程访问:
vi /etc/rabbitmq/rabbitmq.config
注意要去掉后面的逗号。
开启web界面管理工具:
rabbitmq-plugins enable rabbitmq_management
service rabbitmq-server restart
防火墙开放15672端口:
/sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
/etc/rc.d/init.d/iptables save
5、简单应用
springboot中使用rabbitmq
在rabbitmq控制台新建队列:test.queue
新建springboot maven项目,加入rabbitmq依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
application.properties配置中加入:
#spring.rabbitmq.host=localhost
#spring.rabbitmq.port=5672
#spring.rabbitmq.username=admin
#spring.rabbitmq.password=123456
#或者使用address属性
spring.rabbitmq.addresses=amqp://admin:aaa@qq.com
监听消息代码:
@Component
public class MyRabbitListener {
@RabbitListener(queues = "test.queue")
public void processMessage(byte[] content) {
System.out.println("监听到消息: " + new String(content));
}
}
启动服务,从rabbitmq控制台发送下消息: