RabbitMQ消息队列———安装(一)

一、RabbitMQ队列

不同进程间的通信,简称IPC。不同的进程间的通信,可以基于队列解决,将生产者和消费者进行解耦,中间的队列作为其桥梁。RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统。他遵循Mozilla Public License开源协议。

MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。RabbitMQ可以,多个程序同时使用RabbitMQ ,但是必须队列名称不一样。采用erlang语言,属于爱立信公司开发的。

消息中间件 --->就是消息队列

异步方式:不需要立马得到结果,需要排队

同步方式:需要实时获得数据,坚决不能排队

subprocess 的Q也提供不同进程之间的沟通

应用场景:

  电商秒杀活动

  抢购小米手机

  堡垒机批量发送文件

二、Centos6.x系统编译安装RabbitMQ

1、查看环境:

[root@rabbitmq ~]# cat /etc/redhat-release 
CentOS release 6.6 (Final)
[root@rabbitmq ~]# uname -r
2.6.32-504.el6.x86_64

 2、安装erlang环境

1、安装依赖包:yum install gcc ncurses ncurses-base ncurses-devel ncurses-libs ncurses-static ncurses-term ocaml-curses -yyum install ocaml-curses-devel openssl-devel zlib-devel openssl-devel perl xz xmlto m4 kernel-devel -y2、下载otp_src_19.3.tar.gzwget http://erlang.org/download/otp_src_19.3.tar.gz3tar xvf otp_src_19.3.tar.gz4、cd otp_src_19.35、./configure --prefix=/usr/local/erlang --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac6make && make install7、配置erlang环境:echo "export PATH=$PATH:/usr/local/erlang/bin" >>/etc/profile#使环境变量配置生效source /etc/profile7、配置解析
[root@rabbitmq otp_src_19.3]#
echo "127.0.0.1 自己的主机名" >>/etc/hosts    #rabbitmq改成你自己主机名备注:
启动rabbitmq报错:[root@bogon sbin]# /usr/local/rabbitmq/sbin/rabbitmq-server -detacheERROR: epmd error for host bogon: timeout (timed out) 原因:解析不了主机名解决办法:先查看主机名[root@rabbitmq ~]# hostnamerabbitmq然后再执行下面这步echo "127.0.0.1 主机的主机名" >>/etc/hosts 

3、安装rabbitMQ

1、下载rabbitmq-server-generic-unix-3.6.5.tar.xz
2tar xvf rabbitmq-server-generic-unix-3.6.5.tar.xz
3mv rabbitmq_server-3.6.5/ /usr/local/rabbitmq
4、启动:#启动rabbitmq服务/usr/local/rabbitmq/sbin/rabbitmq-server#后台启动/usr/local/rabbitmq/sbin/rabbitmq-server -detached#关闭rabbitmq服务/usr/local/rabbitmq/sbin/rabbitmqctl stop或ps -ef | grep rabbit 和 kill -9 xxx#开启插件管理页面/usr/local/rabbitmq/sbin/rabbitmq-plugins enable rabbitmq_management#创建用户/usr/local/rabbitmq/sbin/rabbitmqctl add_user rabbitadmin 123456/usr/local/rabbitmq/sbin/rabbitmqctl set_user_tags rabbitadmin administrator#给用户授权/usr/local/rabbitmq/sbin/rabbitmqctl set_permissions -p / rabbitadmin ".*" ".*" ".*"#语法:1
set_permissions [-p <vhost>] <user> <conf> <write> <read>

4、登录RabbitMQ_web页面

三、Centos7.x系统编译安装RabbitMQ

1、系统环境

[root@rabbitmq sbin]# cat /proc/version
Linux version 3.10.0-327.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Thu Nov 19 22:10:57 UTC 2015

1.1、Centos7.x关闭防火墙

1 [root@rabbitmq /]# systemctl stop firewalld.service
2 
3 [root@rabbitmq /]# systemctl disable firewalld.service
4 Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
5 Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.

如果不想关闭防火墙,可以通过如下方法处理:

1 开放5672端口:
2 
3 firewall-cmd --zone=public --add-port=5672/tcp --permanent
4 firewall-cmd --reload 

 

2、下载erlang和rabbitmq-server的rpm

http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm

http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm

3、安装erlang

[root@rabbitmq ~]# cd /server/scripts/
[root@rabbitmq scripts]# ll
total 23508
-rw-r--r--. 1 root root 18580960 Jan 28 10:04 erlang-19.0.4-1.el7.centos.x86_64.rpm
-rw-r--r--. 1 root root 5487706 Jan 28 10:04 rabbitmq-server-3.6.6-1.el7.noarch.rpm

[root@rabbitmq scripts]# rpm -ivh erlang-19.0.4-1.el7.centos.x86_64.rpm

测试erlang是否安装成功:

[root@rabbitmq scripts]# erl
Erlang/OTP 19 [erts-8.0.3] [source] [64-bit] [smp:2:2] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V8.0.3 (abort with ^G)
1> 5+6.
11
2> halt().  #退出

4、安装socat (备注:安装RabbitMQ必须先安装socat依赖,否则会报错)

[root@rabbitmq scripts]# yum install socat

5、安装RabbitMQ

[root@rabbitmq scripts]# rpm -ivh rabbitmq-server-3.6.6-1.el7.noarch.rpm

启动和关闭:

/sbin/service rabbitmq-server start #启动服务

/sbin/service rabbitmq-server stop #关闭服务

/sbin/service rabbitmq-server status #查看服务状态

示例:

 1 [root@rabbitmq ~]# service rabbitmq-server status2 Redirecting to /bin/systemctl status  rabbitmq-server.service3 ● rabbitmq-server.service - RabbitMQ broker4    Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; disabled; vendor preset: disabled)5    Active: active (running) since Sat 2017-01-28 20:20:46 CST; 8h ago6  Main PID: 2892 (beam.smp)7    Status: "Initialized"8    CGroup: /system.slice/rabbitmq-server.service9            ├─2892 /usr/lib64/erlang/erts-8.0.3/bin/beam.smp -W w -A 64 -P 1048576 -t 5000000 -st...
10            ├─3027 /usr/lib64/erlang/erts-8.0.3/bin/epmd -daemon
11            ├─3143 erl_child_setup 1024
12            ├─3153 inet_gethost 4
13            └─3154 inet_gethost 4
14 
15 Jan 28 20:20:43 rabbitmq rabbitmq-server[2892]: RabbitMQ 3.6.6. Copyright (C) 2007-2016 Pivot...nc.
16 Jan 28 20:20:43 rabbitmq rabbitmq-server[2892]: ##  ##      Licensed under the MPL.  See http...om/
17 Jan 28 20:20:43 rabbitmq rabbitmq-server[2892]: ##  ##
18 Jan 28 20:20:43 rabbitmq rabbitmq-server[2892]: ##########  Logs: /var/log/rabbitmq/rabbit@ra...log  #日志存放地址
19 Jan 28 20:20:43 rabbitmq rabbitmq-server[2892]: ######  ##        /var/log/rabbitmq/rabbit@ra...log
20 Jan 28 20:20:43 rabbitmq rabbitmq-server[2892]: ##########
21 Jan 28 20:20:43 rabbitmq rabbitmq-server[2892]: Starting broker...
22 Jan 28 20:20:45 rabbitmq rabbitmq-server[2892]: systemd unit for activation check: "rabbitmq-...ce"
23 Jan 28 20:20:46 rabbitmq systemd[1]: Started RabbitMQ broker.
24 Jan 28 20:20:46 rabbitmq rabbitmq-server[2892]: completed with 0 plugins.
25 Hint: Some lines were ellipsized, use -l to show in full.

#查看端口

1 [root@rabbitmq sbin]# ps -ef|grep rabbitmq
2 rabbitmq  2892     1  0 Jan28 ?        00:01:39 /usr/lib64/erlang/erts-8.0.3/bin/beam.smp -W w -A 64 -P 1048576 -t 5000000 -stbt db -zdbbl 32000 -K true -- -root /usr/lib64/erlang -progname erl -- -home /var/lib/rabbitmq -- -pa /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.6/ebin -noshell -noinput -s rabbit boot -sname rabbit@rabbitmq -boot start_sasl -kernel inet_default_connect_options [{nodelay,true}] -sasl errlog_type error -sasl sasl_error_logger false -rabbit error_logger {file,"/var/log/rabbitmq/rabbit@rabbitmq.log"} -rabbit sasl_error_logger {file,"/var/log/rabbitmq/rabbit@rabbitmq-sasl.log"} -rabbit enabled_plugins_file "/etc/rabbitmq/enabled_plugins" -rabbit plugins_dir "/usr/lib/rabbitmq/lib/rabbitmq_server-3.6.6/plugins" -rabbit plugins_expand_dir "/var/lib/rabbitmq/mnesia/rabbit@rabbitmq-plugins-expand" -os_mon start_cpu_sup false -os_mon start_disksup false -os_mon start_memsup false -mnesia dir "/var/lib/rabbitmq/mnesia/rabbit@rabbitmq" -kernel inet_dist_listen_min 25672 -kernel inet_dist_listen_max 25672
3 rabbitmq  3027     1  0 Jan28 ?        00:00:00 /usr/lib64/erlang/erts-8.0.3/bin/epmd -daemon
4 rabbitmq  3143  2892  0 Jan28 ?        00:00:01 erl_child_setup 1024
5 rabbitmq  3153  3143  0 Jan28 ?        00:00:00 inet_gethost 4
6 rabbitmq  3154  3153  0 Jan28 ?        00:00:00 inet_gethost 4
7 root     24739 21359  0 03:18 pts/0    00:00:00 grep --color=auto rabbitmq

转载于:https://www.cnblogs.com/skiler/p/6865748.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/400952.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

App机型测试

1. 目前&#xff0c; Android APP开发完成后&#xff0c;通常需要在哪些机型上进行测试&#xff1f;  2. 目前&#xff0c; 开发Android APP时&#xff0c;需要考虑的分辨率有哪些&#xff1f;  这两个问题可以合起来回答的。  http://developer.android.com/about/dashb…

程序分析与优化 - 5 指针分析

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

linux 系统下配置java环境变量

liunx桌面版本系统下载地址&#xff1a;http://www.ubuntukylin.com/downloads/ 1、源码包准备&#xff1a; 首先到官网下载jdk&#xff0c;http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html&#xff0c;我下载jdk-7u45-linux-x64.tar.gz…

ECShop目录

ECShop2.5.1_Beta upload 的目录┣ activity.php 活动列表┣ affiche.php 广告处理文件┣ affiliate.php 生成商品列表┣ article.php 文章内容┣ article_cat.php文章分类┣ auction.php 拍卖前台文件┣ brand.php 品牌列表┣ captcha.php 生成验证码┣ catalog.php 列出所以分…

HTML 编辑器

可以使用专业的 HTML 编辑器来编辑 HTML&#xff0c;几款常用的编辑器&#xff1a; Notepad&#xff1a;https://notepad-plus-plus.org/Sublime Text&#xff1a;http://www.sublimetext.com/HBuilder&#xff1a;http://www.dcloud.io/Notepad Notepad是 Windows操作系统下的…

程序员的十个等级

2019独角兽企业重金招聘Python工程师标准>>> 自西方文艺复兴以来&#xff0c;中国在自然科学方面落后西方很多&#xff0c;软件领域也不例外。当然现在中国的许多程序员们对此可能有许多不同的意见&#xff0c;有些人认为中国的程序员水平远落后于西方&#xff0c;有…

.NET Core中JWT+Auth2.0实现SSO,附完整源码(.NET6)

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

11步提高代码质量和整体工作效率

作为专业程序员这些年来学到的能真正提高代码质量和整体工作效率的11件事情。 1. 永远不要复制代码 不 惜任何代价避免重复的代码。如果一个常用的代码片段出现在了程序中的几个不同地方&#xff0c;重构它&#xff0c;把它放到一个自己的函数里。重复的代码会导致你的同事 在读…

CDZSC_2015寒假新人(1)——基础 i

Description “Point, point, life of student!” This is a ballad&#xff08;歌谣&#xff09;well known in colleges, and you must care about your score in this exam too. How many points can you get? Now, I told you the rules which are used in this course. T…

MySql触发器使用

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

用js添加网页标题时,在QQ里无效,标题栏空白

网页中的标题是从后台数据获取的,用document.title"我的标题",在微信里正常显示标题,但在扣扣里标题栏是空白的,在网上查到一段代码,粘贴上就好了。。。代码如下&#xff1a; var $body $(body);document.title “我的标题”;//兼容 在QQ中设置标题无效,标题不显示…

快速学习23种设计模式思想Design Patterns

1、factory&#xff08;工厂&#xff09;追MM少不了请吃饭了&#xff0c;麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西&#xff0c;虽然口味有所不同&#xff0c;但不管你带MM去麦当劳或肯德 基&#xff0c;只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的F…

前端优化实例

页面&#xff1a;m.babytree.com/ask建议&#xff1a;1.降低网络负荷1.1缩小图片尺寸&#xff1a;100-1.png:由252*100 缩小到 127*50100-2.png:由272*100 缩小到 127*50Pregnancy.png: 由144*144 缩小到 72*721.2压缩以下资源图片名称&#xff1a;icon-mak.jpg,icon-weixin.jp…

Go微服务框架go-kratos实战04:kratos中服务注册和服务发现的使用

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

关于mysql

MariaDB[4] 的API和协议兼容MySQL&#xff0c;另外又添加了一些功能&#xff0c;以支持本地的非阻塞操作和进度报告。这意味着&#xff0c;所有使用MySQL的连接器、库和应用程序也将会在MariaDB下工作。在此基础上&#xff0c;由于担心甲骨文MySQL的一个更加封闭的软件项目&am…

正则表达式验证

/判断输入内容是否为空 function IsNull(){ var str document.getElementById(str).value.trim(); if(str.length0){ alert(对不起&#xff0c;文本框不能为空或者为空格!);//请将“文本框”改成你需要验证的属性名称! } } //判断…

我注册了某音帐号之后。。。(内涵推荐算法)

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

【转】ORACLE中的子查询 ---OCP--047--46

“子查询”就是查询中嵌套着另一个查询&#xff0c;也即通过SELECT语句的嵌套使用形成子查询。当我们不知道特定的查询条件时,可以用子查询来为父查询提供查询条件以获得查询结果。ORACLE中常见的子查询有下面几类&#xff1a;A、单行子查询(Single-row subqueries)。B、多行子…

第5讲++创建管理数据库

实例 create database db on (namedb51,filenameD:\xxx\db51.mdf,size100,maxsize200,filegrowth20 ), (namedb52,filenameD:\xxx\db52.ndf,size100,maxsize200,filegrowth20 ), (namedb53,filenameD:\xxx\db53.ndf,size100,maxsize200,filegrowth20 ) log on (namedb5log1,fi…

R数据分析:如何简洁高效地展示统计结果

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…