Rabbitmq介绍
RabbitMQ是一款在全球范围内使用非常广泛的开源消息队列中间件。它轻量级、易部署、并支持多种协议。它基于Erlang开发,天生拥有高并发的能力。
RabbitMQ相关术语
①生产者:产生消息的进程或服务
②消费者:接收消息的进程或服务
③队列:RabbitMQ是消息队列中间件,而真正储存消息数据的就是队列,队列可以有很多。
④交换器:类似于网络设备交换机,它可以根据不同的关键字,将消息发送到不同的队列。
⑤虚拟主机:虚拟主机类似于Apache的虚拟主机,如果没有虚拟主机,当RabbitMQ中的数据越来越庞大,队列越来越多,随之而来的是令人头痛的管理问题,比如队列、交换器命名冲突,它们相互影响等等。虚拟主机能够解决这些问题,而不需要我们部署多个RabbitMQ来负责不同的业务。
虚拟主机提供了资源的逻辑分组和分隔,每一个虚拟主机本质上是mini版的RabbitMQ服务器,他们有用自己的连接、队列、绑定、交换器,更重要的是有用自己的权限机制,这有点类似服务器和运行在服务器上的虚拟机一样。
一、安装erlang
1:下载源码包
2:解压
[root@test1 src]# tar zxvf otp_src_20.3.tar.gz
3:编译
[root@test1 src]# cd otp_src_20.3
[root@test1 otp_src_20.3]# ./configure --prefix=/usr/local/erlang --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac [root@test1 otp_src_20.3]# make -j8 [root@test1 otp_src_20.3]# make install
说明:编译前需要先安装opensll openssl-devel依赖包
报错提示:configure: error: No curses library functions found
解决方法:yum -y install ncurses-devel
4:设置变量
[root@test1 otp_src_20.3]# vim /etc/profile.d/path.sh
#!/bin/bash
export PATH=$PATH:/usr/local/erlang/bin
[root@test1 otp_src_20.3]# source /etc/profile.d/path.sh
5:测试变量是否成功
[root@test1 otp_src_20.3]# erl
Erlang/OTP 20 [erts-9.3] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V9.3 (abort with ^G)
1>
二、Rabbitmq安装
1:下载源码包
[root@test1 ~]# wget --no-check-certificate http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-generic-unix-3.6.15.tar.xz
2:解压
[root@test1 ~]# tar xvf rabbitmq-server-generic-unix-3.6.15.tar.xz
[root@test1 ~]# mv rabbitmq_server-3.6.15 /usr/local/rabbitmq
3:设置环境变量
[root@test1 ~]# vim /etc/profile.d/path.sh
#!/bin/bash
export PATH=$PATH:/usr/local/erlang/bin
export PATH=$PATH:/usr/local/rabbitmq/sbin
[root@test1 ~]# source /etc/profile.d/path.sh
4:开启web管理插件
[root@test1 ~]# rabbitmq-plugins enable rabbitmq_management
[root@test1 ~]# rabbitmq-plugins list
[e ] amqp_client 3.6.15
[e ] cowboy 1.0.4
[e ] cowlib 1.0.2
[ ] rabbitmq_amqp1_0 3.6.15
[ ] rabbitmq_auth_backend_ldap 3.6.15
[ ] rabbitmq_auth_mechanism_ssl 3.6.15
[ ] rabbitmq_consistent_hash_exchange 3.6.15
[ ] rabbitmq_event_exchange 3.6.15
[ ] rabbitmq_federation 3.6.15
[ ] rabbitmq_federation_management 3.6.15
[ ] rabbitmq_jms_topic_exchange 3.6.15
[E ] rabbitmq_management 3.6.15
[e ] rabbitmq_management_agent 3.6.15
[ ] rabbitmq_management_visualiser 3.6.15
[ ] rabbitmq_mqtt 3.6.15
[ ] rabbitmq_random_exchange 3.6.15
[ ] rabbitmq_recent_history_exchange 3.6.15
[ ] rabbitmq_sharding 3.6.15
[ ] rabbitmq_shovel 3.6.15
[ ] rabbitmq_shovel_management 3.6.15
[ ] rabbitmq_stomp 3.6.15
[ ] rabbitmq_top 3.6.15
[ ] rabbitmq_tracing 3.6.15
[ ] rabbitmq_trust_store 3.6.15
[e ] rabbitmq_web_dispatch 3.6.15
[ ] rabbitmq_web_mqtt 3.6.15
[ ] rabbitmq_web_mqtt_examples 3.6.15
[ ] rabbitmq_web_stomp 3.6.15
[ ] rabbitmq_web_stomp_examples 3.6.15
[ ] sockjs 0.3.4
5:启动服务
[root@test1 ~]# rabbitmq-server -detached
[root@test1 ~]# netstat -lnpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1557/master
tcp 0 0 0.0.0.0:25672 0.0.0.0:* LISTEN 62757/beam.smp
tcp 0 0 0.0.0.0:4369 0.0.0.0:* LISTEN 62344/epmd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1155/sshd
tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN 62757/beam.smp
tcp6 0 0 ::1:25 :::* LISTEN 1557/master
tcp6 0 0 :::5672 :::* LISTEN 62757/beam.smp
tcp6 0 0 :::4369 :::* LISTEN 62344/epmd
tcp6 0 0 :::22 :::* LISTEN 1155/sshd
##rabbitmq监听的端口是25672、4369、5672;15672是web管理插件监听的端口
6:在浏览器输入:IP:15672,用户名和密码默认都是guest,rabbitmq登录限制,只允许127.0.0.1访问,所以还需在本机配置一个nginx代理
7:增加一个Nginx代理本机127.0.0.1:15672,即rabbitmq登录界面
[root@test1 ~]# vim /usr/local/nginx/conf.d/vhosts/rabbitmq.conf
#加入以下内容 server { listen 80; server_name www.test.top; #域名自定义,如果没有dns解析,需要在本地绑定hosts location / { proxy_pass http://127.0.0.1:15672; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
[root@test1 ~]# nginx -s reload
- CentOS下 RabbitMQ单机安装配置
CentOS RabbitMQ rpm 安装方法: 系统环境:CentOS6IP地址:10.100.62.41 1.erlang安装: erlang下载地址: http://www.rabbitmq. ...
- Centos7服务器上RabbitMQ单机安装
一.背景 最近项目中用到了RabbitMQ,但是发现自己本地没有安装,此文记录一下本地RabbitMQ的安装过程.注意不同的系统安装方式略有不同,此处我们记录的是Centos7的安装方式. 二.安装方 ...
- redhat 5.4 下rabbitMQ单机安装.md
1. 系统版本 `cat /etc/redhat-release` `Red Hat Enterprise Linux Server release 5.4 (Tikanga)` 2. 下载软件包 ...
- RabbitMQ系列之RabbitMQ单机安装
安装epel源 rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm #ht ...
- Linux下 RabbitMQ的安装与配置-3
一 Erlang安装 1.RabbitMQ是基于Erlang的,所以首先必须配置Erlang环境. 从Erlang的官网http://www.erlang.org/download.html 下载最 ...
- RabbitMQ的安装及集群搭建方法
RabbitMQ安装 1 安装erlang 下载地址:http://www.erlang.org/downloads 博主这里采用的是otp_src_19.1.tar.gz (200MB+) [roo ...
- RabbitMQ入门教程(十四):RabbitMQ单机集群搭建
原文:RabbitMQ入门教程(十四):RabbitMQ单机集群搭建 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://b ...
- rabbitMq急速安装教程
背景 我们在工作中很多时候其实也用过mq.但是仅仅只是会用,所以老猫在此想完整地归纳一下mq相关的知识点,在此分享给大家.首先给大家带来的是mq的单机急速安装.操作系统时centos7.(本来想记录到 ...
- RabbitMQ服务安装配置
RabbitMQ是流行的开源消息队列系统,是AMQP(Advanced Message Queuing Protocol高级消息队列协议)的标准实现,用erlang语言开发.RabbitMQ据说具有良 ...
- Erlang&RabbitMQ服务安装配置
RabbitMQ是流行的开源消息队列系统,是AMQP(Advanced Message Queuing Protocol高级消息队列协议)的标准实现,用erlang语言开发.RabbitMQ据说具有良 ...
随机推荐
- nyoj 975-关于521 (EOF)
975-关于521 内存限制:64MB 时间限制:1000ms 特判: No 通过数:5 提交数:46 难度:2 题目描述: Acm队的流年对数学的研究不是很透彻,但是固执的他还是想一头扎进去. 浏览 ...
- 前端与算法 leetcode 8. 字符串转换整数 (atoi)
目录 # 前端与算法 leetcode 8. 字符串转换整数 (atoi) 题目描述 概要 提示 解析 解法一:正则 解法二:api 解法二:手搓一个api 算法 传入测试用例的运行结果 执行结果 G ...
- C语言博客I作业09
提问 回答 这个作业属于哪个课程 C语言程序设计Ⅱ 这个作业要求在哪里 https://www.cnblogs.com/sanying/p/11907721.html 我在这个课程的目标 掌握语句嵌套 ...
- opencv 5 图像转换(2 霍夫变换)
霍夫线变换 标准霍夫变换和多尺度霍夫变换(HoughLines()函数) 实例: #include <opencv2/opencv.hpp> #include <opencv2/im ...
- [apue] FIFO:不是文件的文件
众所周知,FIFO中文译为命名管道,是PIPE的升级版.而PIPE是管道,系统提供的一种进程间通讯方式,FIFO与PIPE有以下方面不同: 1) FIFO需要先在文件系统创建(mkfifo),之后使用 ...
- 两步搞定Activity的向右滑动返回的功能
向右滑动返回,对于屏幕过大的手机来说,在单手操作时,是一个不错的用户体验,用户不必再费力的或者用另一个手去点击屏幕左上角的返回按钮或者,手机右下角的返回按钮,轻轻向右滑动屏幕即可返回上一页,这个功能如 ...
- 2019-10-9:渗透测试,基础学习,php文件上传,mysql基础
header("Content-Type:text/html;charst="utf-8")设置头部信息,解决编码问题setcookie("loginStrin ...
- Python编译升级
[root@localhost python]# tar xvf Python-3.6.9.tgz [root@localhost python]# cd Python-3.6.9/ [root@lo ...
- 同步工具类 CountDownLatch 和 CyclicBarrier
在开发中,一些异步操作会明显加快执行速度带来更好的体验,但同时也增加了开发的复杂度,想了用好多线程,就必须从这些方面去了解 线程的 wait() notify() notifyall() 方法 线程异 ...
- 【RN - 基础】之TextInput使用简介
TextInput组件允许用户在应用中通过键盘输入文本信息,其使用方法和Text.Image一样简单,实例代码如下: <TextInput placeholder={'请输入用户名'} styl ...