小工具知识网

当前位置: 首页 > 行业知识 > RabbitMQ(安装配置以及与SpringBoot整合)

行业知识

RabbitMQ(安装配置以及与SpringBoot整合)

2026-11-01 02:50:14 来源:互联网转载

文章目录

    • 1.基本介绍
    • 2.Linux下安装配置RabbitMQ
        • 1.安装erlang环境
          • 1.将文件上传到/opt目录下
          • 2.进入/opt目录下,然后安装
          • 2.安装RabbitMQ
            • 1.进入/opt目录,安装所需依赖
            • 2.安装MQ
            • 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端口
                      • 1.宝塔开启
                      • 2.腾讯云开启,仅限本机登录
                      • 2.访问 http://ip:15672 进行登录
                        • 1.使用guest用户登录,出现权限问题
                        • 2.进入/etc/rabbitmq 编辑 rabbitmq.config
                        • 3.将下面这句话粘贴进去
                        • 4.重启MQ,使配置生效
                        • 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.引入依赖
                                    • 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.引入依赖
                                                                        org.springframework.boot            spring-boot-starter-amqp        
                                            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 配置  rabbitmq:    # 服务器地址    host:     # 用户名    username:     # 密码    password: ******    # 虚拟主机    virtual-host: /    # 端口    port: 6783    # 消息监听器配置    listener:      simple:        #消费者最小数量        concurrency: 10        #消费者最大数量        max-concurrency: 10        #限制消费者,每次只能处理一条消息,处理完才能继续下一条消息        prefetch: 1        #启动时是否默认启动容器,默认为 true        auto-startup: true        #被拒绝时重新进入队列的        default-requeue-rejected: true    # 消息重试配置    template:      retry:        #启用消息重试机制,默认为 false        enabled: true        #初始重试间隔时间        initial-interval: 1000ms        #重试最大次数,默认为 3 次        max-attempts: 3        #重试最大时间间隔,默认 10000ms        max-interval: 10000ms        #重试的间隔乘数        #配置 2 的话,第一次等 1s,第二次等 2s,第三次等 4s        multiplier: 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;/** * Description: * * @Author sun * @Create 2024/5/11 13:58 * @Version 1.0 */@Configurationpublic class RabbitMQConfig {    private static final String QUEUE = "queue";    /**     * 1. 配置队列     * 2. 队列名为 queue     * 3. true 表示: 持久化     * durable: 队列是否持久化。 队列默认是存放到内存中的,rabbitmq 重启则丢失,     * 若想重启之后还存在则队列要持久化,     * 保存到 Erlang 自带的 Mnesia 数据库中,当 rabbitmq 重启之后会读取该数据库     */    @Bean    public 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;/** * Description: 消息发送者 * * @Author sun * @Create 2024/5/11 14:04 * @Version 1.0 */@Service@Slf4jpublic class MQSender {    @Resource    private 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;/** * Description: 消息接收者 * * @Author sun * @Create 2024/5/11 14:08 * @Version 1.0 */@Service@Slf4jpublic 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;/** * Description: * * @Author sun * @Create 2024/5/11 14:13 * @Version 1.0 */@Controllerpublic class RabbitMQHandler {    @Resource    private MQSender mqSender;        // 调用发送消息的方法    @RequestMapping("/mq")    @ResponseBody    public void mq() {        mqSender.send("hello rabbitmq");    }}
                                            4.启动测试
                                            1.访问 http://localhost:9092/seckill/mq 成功发送和接受消息
                                            2.http://ip:15672 在控制台可以进行监控

上一篇:苹果ID账号注册全攻略,零基础轻松掌握注册技巧!

下一篇:打造去中心化透明储蓄罐:Solidity智能合约的又一实践