文章目录
 - 1.基本介绍
 - 2.Linux下安装配置RabbitMQ
 - 1.安装erlang环境
 - 1.将文件上传到/opt目录下
 - 2.进入/opt目录下,然后安装
 
 - 2.安装RabbitMQ
 -  
 - 3.基本配置
 - 1.启动MQ
 - 2.查看MQ状态
 - 3.安装web管理插件
 - 4.安装web管理插件超时的解决方案
 - 1.修改etc/hosts文件,修改主机名
 - 2.重启MQ如果还报错就修改ip与本机ip相同
 
 - 5.设置开机自启
 - 6.关闭MQ
 - 7.组合指令
 - 1.启动MQ并查看状态
 - 2.关闭MQ并查看状态
 - 3.重启MQ并查看状态
 
 
 - 4.RabbitMQ管控台配置
 - 1.开放15672端口
 -  
 - 2.访问 http://ip:15672 进行登录
 - 1.使用guest用户登录,出现权限问题
 - 2.进入/etc/rabbitmq 编辑 rabbitmq.config
 - 3.将下面这句话粘贴进去
 - 4.重启MQ,使配置生效
 - 5.再次登录,成功!
 
 - 3.控制台参数解析
 -  
 - 4.用户管理
 - 1.进入Admin
 - 2.添加用户test,默认不能访问虚拟主机
 - 3.给test用户分配可以访问的虚拟主机
 - 4.为了安全,修改guest用户的密码
 
 - 5.增加虚拟主机
 - 1.添加/test的虚拟主机
 - 2.配置test用户可以访问虚拟主机/test
 - 3.删除test用户
 
 
 
 
 - 5.SpringBoot集成MQ
 - 1.需求分析
 - 2.环境配置
 - 1.引入依赖
 - 2.MQ的端口配置
 - 1.编辑MQ的配置文件
 - 2.修改端口5672为6783(防止被攻击)
 - 3.重启MQ使其生效
 - 4.测试是否成功
 - 5.宝塔开启6783端口
 - 6.腾讯云开启
 
 - 3.配置application.yml
 - 4.RabbitMQ配置类创建队列 RabbitMQConfig.java
 
 - 3.基本使用
 - 1.编写消息发送者 MQSender.java
 - 2.编写消息接受者 MQReceiver.java
 - 3.控制层调用发送消息的方法
 - 4.启动测试
 - 1.访问 http://localhost:9092/seckill/mq 成功发送和接受消息
 - 2.http://ip:15672 在控制台可以进行监控
 
 
 
 
 
 
 
  
 
1.基本介绍
 

 
2.Linux下安装配置RabbitMQ
 
1.安装erlang环境
 
1.将文件上传到/opt目录下
 

 
2.进入/opt目录下,然后安装
 
cd /opt && rpm -ivh erlang-21.3-1.el7.x86_64.rpm
 

 
2.安装RabbitMQ
 
1.进入/opt目录,安装所需依赖
 
cd /opt && yum install socat -y
 

 
2.安装MQ
 
rpm -ivh rabbitmq-server-3.8.8-1.el7.noarch.rpm
 

 
3.基本配置
 
1.启动MQ
 
/sbin/service rabbitmq-server start
 

 
2.查看MQ状态
 
/sbin/service rabbitmq-server status
 

 
3.安装web管理插件
 
rabbitmq-plugins enable rabbitmq_management
 

 
4.安装web管理插件超时的解决方案
 
1.修改etc/hosts文件,修改主机名
 

 

 
2.重启MQ如果还报错就修改ip与本机ip相同
 

 
5.设置开机自启
 
chkconfig rabbitmq-server on
 

 
6.关闭MQ
 
/sbin/service rabbitmq-server stop
 

 
7.组合指令
 
1.启动MQ并查看状态
 
/sbin/service rabbitmq-server start && /sbin/service rabbitmq-server status
 

 
2.关闭MQ并查看状态
 
/sbin/service rabbitmq-server stop && /sbin/service rabbitmq-server status
 

 
3.重启MQ并查看状态
 
/sbin/service rabbitmq-server stop && /sbin/service rabbitmq-server start && /sbin/service rabbitmq-server status
 

 
4.RabbitMQ管控台配置
 
1.开放15672端口
 
1.宝塔开启
 
systemctl start firewalld && firewall-cmd --permanent --add-port=15672/tcp && firewall-cmd --reload && firewall-cmd --query-port=15672/tcp
 

 
2.腾讯云开启,仅限本机登录
 

 
2.访问 http://ip:15672 进行登录
 
1.使用guest用户登录,出现权限问题
 

 
2.进入/etc/rabbitmq 编辑 rabbitmq.config
 
cd /etc/rabbitmq && vim rabbitmq.config
 

 
3.将下面这句话粘贴进去
 
[
{rabbit,[{loopback_users,[]}]
}
].
 

 
4.重启MQ,使配置生效
 
/sbin/service rabbitmq-server stop && /sbin/service rabbitmq-server start && /sbin/service rabbitmq-server status
 
5.再次登录,成功!
 

 
3.控制台参数解析
 
1.端口
 

 
2.交换机,默认七个
 

 
4.用户管理
 
1.进入Admin
 

 
2.添加用户test,默认不能访问虚拟主机
 

 

 
3.给test用户分配可以访问的虚拟主机
 

 

 

 
4.为了安全,修改guest用户的密码
 

 
5.增加虚拟主机
 
1.添加/test的虚拟主机
 

 
2.配置test用户可以访问虚拟主机/test
 

 

 
3.删除test用户
 

 

 
5.SpringBoot集成MQ
 
1.需求分析
 

 
2.环境配置
 
1.引入依赖
 
        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency>
 
2.MQ的端口配置
 
1.编辑MQ的配置文件
 
cd /etc/rabbitmq && vim rabbitmq.config
 
2.修改端口5672为6783(防止被攻击)
 
[{rabbit, [{tcp_listeners, [{"0.0.0.0", 6783}]},{loopback_users, []}]}
].
 
3.重启MQ使其生效
 
/sbin/service rabbitmq-server stop && /sbin/service rabbitmq-server start && /sbin/service rabbitmq-server status
 
4.测试是否成功
 
netstat -plnt | grep 6783
 

 
5.宝塔开启6783端口
 
systemctl start firewalld && firewall-cmd --permanent --add-port=6783/tcp && firewall-cmd --reload && firewall-cmd --query-port=6783/tcp
 

 
6.腾讯云开启
 

 
3.配置application.yml
 
  rabbitmq:host: username: password: ******virtual-host: /port: 6783listener:simple:concurrency: 10max-concurrency: 10prefetch: 1auto-startup: truedefault-requeue-rejected: truetemplate:retry:enabled: trueinitial-interval: 1000msmax-attempts: 3max-interval: 10000msmultiplier: 1
 
4.RabbitMQ配置类创建队列 RabbitMQConfig.java
 
package com.sxs.seckill.config;import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class RabbitMQConfig {private static final String QUEUE = "queue";@Beanpublic Queue queue() {return new Queue(QUEUE, true);}
}
 
3.基本使用
 
1.编写消息发送者 MQSender.java
 
package com.sxs.seckill.rabbitmq;import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.stereotype.Service;import javax.annotation.Resource;
@Service
@Slf4j
public class MQSender {@Resourceprivate RabbitTemplate rabbitTemplate;public void send(Object message) {log.info("发送消息: " + message);rabbitTemplate.convertAndSend("queue", message);}
}
 
2.编写消息接受者 MQReceiver.java
 
package com.sxs.seckill.rabbitmq;import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Service;
@Service
@Slf4j
public class MQReceiver {@RabbitListener(queues = "queue")public void receive(Object message) {log.info("接收消息: " + message);}
}
 
3.控制层调用发送消息的方法
 
package com.sxs.seckill.controller;import com.sxs.seckill.rabbitmq.MQSender;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;import javax.annotation.Resource;
@Controller
public class RabbitMQHandler {@Resourceprivate MQSender mqSender;@RequestMapping("/mq")@ResponseBodypublic void mq() {mqSender.send("hello rabbitmq");}
}
 
4.启动测试
 
1.访问 http://localhost:9092/seckill/mq 成功发送和接受消息
 

 
2.http://ip:15672 在控制台可以进行监控
 
