Fork me on GitHub

JackLin的博客

当前位置:首页 > 标签

SpringBoot 14 Spring 2 SpringMVC 3 MyBatis 2 Linux 4 阿里云 13 宝塔 1 Docker 3 ElasticSearch 2 Redis 4 Shiro 0 Dubbo 0 Swagger 0 Thymeleaf 6 数据库 11 MySQL 11 外键 2 Gradle 1 Test 0 Tomcat 1 JavaWeb 7 Ajax 1 注解 3 css 2 报错 3 多数据源 1 Java基础 1 源码 2 Servlet 1 JSP 1 环境搭建 8 RabbitMQ 1 七牛云 1 Edit.md 1 图像识别 4 英语 2 Zookeeper 1

RabbitMQ的安装(Docker),基本介绍以及整合SpringBoot

  • 2020-05-05
  • 140
  • SpringBoot
## RabbitMQ的安装,通过Docker安装 #####(1)去到 Docker Hub官网,搜索 RabbitMQ 尽量安装带 management 的,我这里安装的是 3.8 版本的 ![](/upload/2020-5-5 134149.png) 执行安装 `docker pull rabbitmq:3.8-management` ![](/upload/2020-4-30 103308.png) #####(2)安装完成之后启动 RabbitMQ 启动 RabbitMQ `docker run -d -p 5672:5672 -p 15672:15672 --name myrabbitmq fa535c4b51fe` - -d 表示后台启动 - -p 表示端口映射 - 5672 是 RabbitMQ 的默认端口,我们需要使用这个端口连接上 RabbitMQ - 15672 是 RabbitMQ 的UI界面的端口,我们连接之后可以进行可视化操作 - --name 表示为我们的容器起一个名字 - 后面的一串字符是我们的镜像 ID,这里要换成自己的镜像ID,通过 `docker iamges` 命令可以查看 emm~~~ 忘记截图了 #####(3)连接图形化界面 输入地址加15672端口号,进入图形界面 - 记得开放阿里云安全组 - 开放15672端口和5672端口 ---》 `firewall-cmd --add-port=6379/tcp` ## RabbitMQ 的基本介绍 #### 1. 消息服务 (1)JMS(Java Message Service) Java消息服务 - 基于JVM消息代理的规范,ActiveMQ,HornetMQ是JMS的实现 (2)AMQP(Advanced Message Queuing Protocol) - 高级消息队列协议,也是一个消息代理的规范,兼容JMS - RabbitMQ是AMQP的实现 #### 2. RabbitMQ 简介 **RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue Protocol)的开源实现。** ##### 核心概念 (1)Message 消息,有消息头和消息体组成 (2)Publisher 消息的生产者,也是一个向交换器发布消息的客户端应用程序。 (3)Exchange 交换器,用来接收生产者发送的消息并将这些消息路由给服务器中的队列。 (4)Queue 消息队列,用来保存消息直到发送给消费者。一个消息可投入一个或多个队列。消息一直在队列里面,等待消费者连接到这个队列将其取走。 (5)Binding 绑定,用于消息队列和交换器之间的关联。一个绑定就是基于路由键将交换器和消息队列连接起来的路由规则,所以可以将交换器理解成一个由绑定构成的路由表。 (6)Connection 网络连接,比如一个TCP连接。 (7)Channel 信道,多路复用连接中的一条独立的双向数据流通道。 (8)Consumer 消息的消费者,表示一个从消息队列中取得消息的客户端应用程序。 (9)Virtual Host 虚拟主机,表示一批交换器、消息队列和相关对象。 (10)Broker 表示消息队列服务器实体 **关于这些概念的基本示意图: ** ![](/upload/消息队列图示.png) ## SpringBoot整合RabbitMQ #### 1. 创建工程,导入对应的依赖 如果是新的工程,在初始化时选择 Spring for RabbitMQ ![](/upload/2020-5-5 141337.png) 如果是旧的工程,这添加依赖 可以在 SpringBoot 的官方文档中查找 ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> ``` #### 2. 分析自动配置类,进行相关的配置 (1)找到 RabbitAutoConfiguration 类,分析一下 > rabbitConnectionFactory 方法,通过 RabbitProperties 里面的配置,来创建一个 RabbitMQ 的连接工厂。 所以我们可以在 application.yaml 中进行如下配置 ``` spring: rabbitmq: host: 39.98.86.223 username: guest password: guest ``` > 在 RabbitAutoConfiguration 还配置了一个 RabbitTemplate 放入容器中,我们可以通过 RabbitTemplate 来给 RabbitMQ 发送和接收消息。和之前使用的 RedisTemplate,JDBCTemplate 类似 > 还往容器中放置了一个 AmqpAdmin,用来创建和删除 Queue,Exchange,Binding

阿里云Centos7安装Docker,配置阿里云镜像

  • 2020-04-28
  • 177
  • Docker
开始安装之前,先给出使用到的几个网址: - Docker 官方参考文档:https://docs.docker.com/engine/install/centos/ - 阿里云容器镜像服务地址:https://cn.aliyun.com/product/acr - 阿里云镜像服务文档:https://help.aliyun.com/document_detail/60750.html?spm=a2c4g.11174283.3.3.18584541LVNeny 下面开始我们的安装 ### 卸载之前装过的 Docker(没装过可以跳过) #####(1)查看之前的安装过的 Docker 可以参考这位同学的博客:https://www.cnblogs.com/myzhijie/p/Centos7_Docker_Remove.html `yum list installed|grep docker` #####(2)然后依次执行删除 `yum -y remove containerd.io.x86_64` ### 开始安装 进入 Docker 官方参考手册:https://docs.docker.com/engine/install/centos/ 依次执行命令 官方手册给我们提供了3中安装方式,利用存储库进行安装,手动下载RPM安装包,利用脚本安装。 这里我们选择使用存储库进行安装 #####(1)卸载之前的版本 ``` yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine ``` ![](/upload/2020-4-28 142839.png) #####(2)安装 yum-utils 软件包 ``` yum install -y yum-utils ``` ![](http://image.linkaiblog.top/CentOs安装Docker_2020051612420242SS.png) #####(3)使用阿里云的镜像仓库 **注意:这里就不能跟着官网的操作一起做了,我们得换用阿里云的仓库 ** ![](http://image.linkaiblog.top/CentOs安装Docker_2020051612461946SS.png) ``` sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo ``` ![](http://image.linkaiblog.top/CentOs安装Docker_2020051612341834SS.png) #####(4)配置阿里云镜像加速 进入阿里云镜像服务的网址:https://cn.aliyun.com/product/acr 然后点击进入控制台 ![](/upload/2020-4-28 143539.png) 左边找到 “镜像加速器”,然后就能找到阿里云分配的镜像加速地址了,下面也给出了使用方法说明。 ![](/upload/2020-4-28 143834.png) 说白了就是要在 /etc/docker 下面创建一个json文件并写入内容即可,看不懂给出的例子的同学,那么我们就自己动手,不按照他的来。 > 创建Json文件 - `mkdir -p /etc/docker` 创建多级目录 - `vim daemon.json` 创建并编辑 daemon.json 文件 - 按 `i` 进入插入模式,输入我们的内容 - 输入 `:wq` 保存退出 - systemctl daemon-reload 重新加载一下 ![](http://image.linkaiblog.top/CentOs安装Docker_2020051612172517SS.png) #####(5)安装 Docker Engine ``` yum install docker-ce docker-ce-cli containerd.io ``` 安装过程可以需要等待一段时间,耐心等待即可。 安装好了如图所示: ![](http://image.linkaiblog.top/CentOs安装Docker_2020051612132913SS.png) #####(6)启动Docker ``` systemctl start docker ``` ![](http://image.linkaiblog.top/CentOs安装Docker_2020051612193119SS.png) 当运行 hello-world 出现了 Hello from docker 说明运行成功。同时也可以输入 `docker version` 查看一下。 ![](http://image.linkaiblog.top/CentOs安装Docker_2020051612113311SS.png) ![](http://image.linkaiblog.top/CentOs安装Docker_2020051612193419SS.png) ### Docker 几个简单的命令 ---》 在另一篇博客中有详细介绍 > `docker images` 查看所有的镜像 > `docker ps` 查看所有运行中的容器 > `docker ps -a` 查看运行过(包括历史运行过)的所有容器 > `docker rm 容器ID` 删除一个容器 > `docker stop 容器ID` 停止一个正在运行的容器 > `dcoker rmi 镜像ID` 移除一个镜像

Linux服务器安装Redis(Docker安装,解压缩包安装)

  • 2020-04-28
  • 144
  • Redis
前不久 Redis 远程连接失败,又重装了几遍 Redis(后来发现时端口没开放的原因......),特此记录一下。 今天主要讲解 2 中 Redis 的安装方式,一种是利用 Docker 安装,另一种是解压缩包安装。 ### 利用 Docker 安装 Redis ##### (1) 首先来到 Docker Hub 官网 进入官网之后,搜索 Redis,然后可以看到如下图所示 ![](/upload/2020-4-28 152622.png) 由于我们之前配置过阿里云的镜像,所以这里 docker pull redis 就行了 #####(2)服务器上安装 Redis 连接服务器,首先查看已有的镜像 `docker images` ![](/upload/2020-4-28 152858.png) 然后执行 `docker pull redis`,稍作等待即可,之后再查看已有的镜像,发现多了一个 Redis 的镜像,说明安装成功。 ![](/upload/2020-4-28 153032.png) #####(3)启动 Redis - -d 代表后台运行 - -p 代表端口映射 - --name 给我们的容器起一个名字 - 最后面填写需要启动的镜像的名字 ![](/upload/2020-4-28 153334.png) **当然,这里也可以指定本地配置文件启动,这里没有展示** --- > 关于设置密码(可以通过命令设置,或者通过配置文件设置) ![](/upload/2020-4-28 155311.png) ![](/upload/2020-4-28 153334.png) #####(4)本地连接测试 查看容器状态并测试 ![](/upload/2020-4-28 153650.png) #####(5)远程连接测试 启动 Redis Desktop Manager,连接并输入密码 ![](/upload/2020-4-28 153907.png)