环境:腾讯云centos7

注意:rabbitmq安装插件,可能会报错。本人是主机名的问题,所以修改了主机名。

vim /etc/hosts

vim /etc/hostname

修改这两个文件,并重启主机,然后再运行rabbitmq,没有问题了。

1、下载安装包

https://www.rabbitmq.com/install-generic-unix.html

2、解压

安装xz :yum -y install xz
xz -d rabbitmq-server-generic-unix-3.7.17.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.7.17.tar

3、安装

mkdir /usr/java/

mv rabbitmq-server-generic-unix-3.7.17 /usr/java/rabbitmq-server

cd /usr/java/rabbitmq-server/sbin

4、安装erlang

由于rabbitmq是erlang语言开发,所以需要该语言环境
yum install erlang -y

5、安装管理界面插件

rabbitmq-plugins enable     rabbitmq_management

6、运行mq

启动服务:rabbitmq-server -detached  或者 rabbitmq-server    start
查看状态:rabbitmqctl status
关闭服务:rabbitmqctl stop
查看插件列表:abbitmq-plugins list
新增用户:rabbitmqctl add_user Username Password
删除用户:rabbitmqctl delete_user Username
修改用户密码:rabbitmqctl change_password Username Newpassword
查看当前用户列表:rabbitmqctl list_users

7、验证是否启动

ss -tnalp 查看端口,如果有15672,则运行成功。

8、进入web界面

http://ip:15672/    初始账号/密码:guest/guest  

登录报错:User can only log in via localhost 
  原因:rabbitmq从3.3.0开始禁止使用guest/guest权限通过除localhost外的访问
解决方法:找到ebin/rabbit.app文件,将 {loopback_users, [<<"guest">>]},  改为{loopback_users, []}

完毕!

#######springboot集成实践######

1、pom.xml文件添加依赖

 <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-amqp -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>

2、在yml文件中添加服务ip

#默认使用配置  #activemq
spring:
rabbitmq:
host: 132.232.44.82

3、RabbitMQConfig.java 这个文件不能少,否则启动报错(所有的消息的topic都要在这个文件进行注册)

package com.cn.commodity.config;

import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; @Configuration
public class RabbitMQConfig {
//direct模式,直接根据队列名称投递消息
@Bean
public Queue logOpQueue(){
return new Queue("oplog");
} @Bean
public Queue logErrQueue(){
return new Queue("errlog");
} //不要偷懒 一定要声明
@Bean
public Queue chatMessageQueue(){
return new Queue("yang");
} @Bean
public Queue mapMessageQueue(){
return new Queue("rabbitmq_map");
}
}

4、RabbitmqProducer.java

package com.cn.commodity.controller;

import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; @RestController
public class RabbitmqProducer {
@Autowired
private RabbitTemplate rabbitTemplate;
@RequestMapping(value = "testSend")
public void testSend(String msg){
rabbitTemplate.convertAndSend("yang","rabbitmq 发送消息:"+msg);
}
@RequestMapping(value = "testSendMap")
public void testSendMap(String msg){
rabbitTemplate.convertAndSend("rabbitmq_map","rabbitmq 发送消息:"+msg);
} }

5、RabbitmqConsumer.java

package com.cn.commodity.controller;

import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component; import java.util.HashMap;
import java.util.Map; @Component
public class RabbitmqConsumer {
@RabbitHandler
@RabbitListener(queues="yang" )
public void showMessage(String message){
System.out.println("yangwj接收到消息:"+message);
} @RabbitHandler
@RabbitListener(queues="rabbitmq_map" )
public void showMessage(){
Map map = new HashMap();
map.put("1","大爷你好");
System.out.println("yangwj接收到消息:"+map);
}
}

启动运行,完毕!

springboot之rabbitmq安装与实践的更多相关文章

  1. springboot之kafka安装与实践

    环境:腾讯云centos7 1.下载 http://mirror.bit.edu.cn/apache/kafka/2.3.0/kafka_2.11-2.3.0.tgz 2.解压 tar -xvf ka ...

  2. springboot之activemq安装与实践

    环境:腾讯云centos7 注意:activemq安装插件,可能会报错.本人是主机名的问题,所以修改了主机名. vim /etc/hosts vim /etc/hostname 修改这两个文件,并重启 ...

  3. SpringBoot(九)RabbitMQ安装及配置和使用,消息确认机制

    Windows下RabbitMQ安装及配置地址: https://blog.csdn.net/zhm3023/article/details/82217222RabbitMQ(四)订阅模式:https ...

  4. Spring-boot之 rabbitmq

    今天学习了下spring-boot接入rabbitmq. windows下的安装:https://www.cnblogs.com/ericli-ericli/p/5902270.html 使用博客:h ...

  5. centos7 rabbitmq安装以及应用

    安装单机rabbitmq   1.安装erlang cd /usr.local yum install wget yum install net-tools wget http://erlang.or ...

  6. SpringBoot非官方教程 | 第十五篇:Springboot整合RabbitMQ

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot15-rabbitmq/ 本文出自方志朋的博客 这 ...

  7. SpringBoot整合RabbitMq(二)

           本文序列化和添加package参考:https://www.jianshu.com/p/13fd9ff0648d RabbitMq安装 [root@topcheer ~]# docker ...

  8. 一、RabbitMQ安装与测试连接

    一.下载NuGet支持的RabbitMQ.Client客户端库与安装RabbitMQ服务. 1.安装客户端库操作服务. 2.安装服务. 步骤一.下载Erlang. 步骤二.下载RabbitMQ服务 采 ...

  9. SpringBoot系列之自定义starter实践教程

    SpringBoot系列之自定义starter实践教程 Springboot是有提供了很多starter的,starter翻译过来可以理解为场景启动器,所谓场景启动器配置了自动配置等等对应业务模块的一 ...

随机推荐

  1. 干货,阿里P8浅谈对java线程池的理解(面试必备)

    线程池的概念 线程池由任务队列和工作线程组成,它可以重用线程来避免线程创建的开销,在任务过多时通过排队避免创建过多线程来减少系统资源消耗和竞争,确保任务有序完成:ThreadPoolExecutor ...

  2. C# 直播录制视频

    //项目引用 ffmpeg.exe 下载地址http://ffmpeg.org/ var time = DateTime.Now; ; //录制分钟 var fileName = Guid.NewGu ...

  3. 学习笔记:Python序列化常用工具及性能对比

    什么叫序列化?简单来讲就是将内存中的变量数据转而存储到磁盘上或是通过网络传输到远程. 反序列化是指:把变量数据从序列化的对象重新读到内存里. 下面我们一起来看看,python里面序列化常用的json. ...

  4. docker从入门到精通再到放弃

    docker说明 docker三大功能:构建(build).运输(ship).运行(run),只需要记下这三大功能就可以了 1.docker入门 docker安装及配置 a.docker源配置 cur ...

  5. phpstudy如何配置域名

    其他选项菜单=>站点域名管理=>站点管理填入信息后点击“新增”按钮=>点击“保存设置并生成配置文件”按钮=>打开hosts=>127.0.0.1 www.gohosts. ...

  6. centos7下redis和php-redis安装

    centos7下redis安装和php-redis扩展安装 //一直yes就可以了 yum install redis //配置 whereis redis.conf vi /etc/redis.co ...

  7. nginx+uwsgi+bottle python服务器部署

    一.安装nginx(如果服务器上已经有nginx了,则无需重复安装) sudo apt-get install nginx 二.nginx配置,例如:/etc/nginx/conf.d/digger. ...

  8. 对Ajax的一些理解

    前言 在学习js的过程,我个人对于Ajax这项技术有着很深的印象,大概是因为它在我们网页开发过程中常见的交互里所发挥的作用太过于关键了吧,所以我想在这里好好地谈一些自己对它的理解. 概念理解 Ajax ...

  9. 用HTML5里的window.postMessage在两个网页间传递数据

    说明 window.postMessage()方法可以安全地实现Window对象之间的跨域通信.例如,在一个页面和它生成的弹出窗口之间,或者是页面和嵌入其中的iframe之间. 通常情况下,不同页面上 ...

  10. sizeof +数组名

    链接:https://www.nowcoder.com/questionTerminal/daa5422cb468473c9e6e75cc98b771de 来源:牛客网 sizeof一个数组名称的时候 ...