RabbitMQ 消息队列 安装及使用
RabbitMQ 消息队列安装:
linux版本:CentOS 7
安装第一步:先关闭防火墙
1、Centos7.x关闭防火墙
[root@rabbitmq /]# systemctl stop firewalld.service [root@rabbitmq /]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
如果不想关闭防火墙,可以通过如下方法处理:
开放5672端口: firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --reload
第二步:安装Erlang
由于RabbitMQ依赖Erlang, 所以需要先安装Erlang。
Erlang的安装方式大概有两种:
1)从Erlang Solution安装(推荐)
# 添加erlang solutions源
$ wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
$ sudo rpm -Uvh erlang-solutions-1.0-1.noarch.rpm $ sudo yum install erlang
2)从EPEL源安装(这种方式安装的Erlang版本可能不是最新的,有时候不能满足RabbitMQ需要的最低版本)
# 启动EPEL源
$ sudo yum install epel-release
# 安装erlang
$ sudo yum install erlang
安装第三步:安装RabbitMQ
$ sudo rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
$ wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm # 下载RabbitMQ安装包
$ sudo yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm
注意:安装时如果遇到下面的依赖错误
Error: Package: socat-1.7.2.3-1.el6.x86_64 (epel)
Requires: libreadline.so.5()(64bit)
可以尝试先执行:$ sudo yum install socat
至此,如果没有报错的话,RabbitMQ已经安装成功!此时我们需要测试RabbitMQ是否可以正常使用。
测试:
1、开启服务及查看工作状态
$ rabbitmq-server #启动RabbitMQ队列
$ sudo chkconfig rabbitmq-server on # 添加开机启动RabbitMQ服务
$ sudo /sbin/service rabbitmq-server start # 启动服务
$ sudo /sbin/service rabbitmq-server status # 查看服务状态
$ sudo /sbin/service rabbitmq-server stop # 停止服务
$ netstat -tulnp |grep rabbitmq #查看默认启用的端口号,5672
2、关于RabbitMQ的一些基本操作
# 查看当前所有用户
$ sudo rabbitmqctl list_users $ rabbitmqctl list_queues #查看当前的消息队列列表
# 查看默认guest用户的权限
$ sudo rabbitmqctl list_user_permissions guest # 由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户
$ sudo rabbitmqctl delete_user guest # 添加新用户
$ sudo rabbitmqctl add_user username password # 设置用户tag
$ sudo rabbitmqctl set_user_tags username administrator # 赋予用户默认vhost的全部操作权限
$ sudo rabbitmqctl set_permissions -p / username ".*" ".*" ".*" # 查看用户的权限
$ sudo rabbitmqctl list_user_permissions username
更多关于rabbitmqctl的使用,可以参考帮助手册。
3、开启web管理接口
如果只从命令行操作RabbitMQ,多少有点不方便。幸好RabbitMQ自带了web管理界面,只需要启动插件便可以使用。
$ sudo rabbitmq-plugins enable rabbitmq_management
然后通过浏览器访问 http://localhost:5672 输入用户名和密码访问web管理界面了。
4、配置RabbitMQ
关于RabbitMQ的配置,可以下载RabbitMQ的配置文件模板到/etc/rabbitmq/rabbitmq.config, 然后按照需求更改即可。
关于每个配置项的具体作用,可以参考官方文档。
更新配置后,别忘了重启服务哦!
5、开启用户远程访问
默认情况下,RabbitMQ的默认的guest用户只允许本机访问, 如果想让guest用户能够远程访问的话,只需要将配置文件中的loopback_users列表置为空即可,如下:
{loopback_users, []}
另外关于新添加的用户,直接就可以从远程访问的,如果想让新添加的用户只能本地访问,可以将用户名添加到上面的列表, 如只允许admin用户本机访问。
{loopback_users, ["admin"]}
更新配置后,别忘了重启服务哦!
RabbitMQ 消息队列 安装及使用的更多相关文章
- (五)RabbitMQ消息队列-安装amqp扩展并订阅/发布Demo(PHP版)
原文:(五)RabbitMQ消息队列-安装amqp扩展并订阅/发布Demo(PHP版) 本文将介绍在PHP中如何使用RabbitMQ来实现消息的订阅和发布.我使用的系统依然是Centos7,为了方便, ...
- RabbitMQ消息队列安装和配置以及推送消息
好久没有写了,最近项目用到RabbitMQ,找了一些资料试验,最后终于成功了,把安装配置的步骤分享给大家. 一.Erlang安装具体过程: 1.双击otp_win32_R16801.exe(不同版本可 ...
- RabbitMQ消息队列———安装(一)
一.RabbitMQ队列 不同进程间的通信,简称IPC.不同的进程间的通信,可以基于队列解决,将生产者和消费者进行解耦,中间的队列作为其桥梁.RabbitMQ是一个在AMQP基础上完整的,可复用的企业 ...
- RabbitMQ消息队列+安装+工具介绍
1.MQ为Message Queue,消息队列是应用程序和应用程序之间的通信方法 2. 多种开发语言支持,其实就是一个驱动,如连接数据库的mysql驱动,oracle驱动等. 3. 4.采用以下语言开 ...
- RabbitMQ消息队列安装
[root@VM_119_179_centos ~]# rpm -ivh erlang-19.0.4-1.el6.x86_64.rpm [root@VM_119_179_centos ~]# rpm ...
- RabbitMQ消息队列系列教程(二)Windows下安装和部署RabbitMQ
摘要 本篇经验将和大家介绍Windows下安装和部署RabbitMQ消息队列服务器,希望对大家的工作和学习有所帮助! 目录 一.Erlang语言环境的搭建 二.RabbitMQ服务环境的搭建 三.Ra ...
- 第二百九十一节,RabbitMQ多设备消息队列-安装与简介
RabbitMQ多设备消息队列-安装与简介 RabbitMQ简介 解释RabbitMQ,就不得不提到AMQP(Advanced Message Queuing Protocol)协议. AMQP协议是 ...
- OpenStack 安装数据库和rabbitmq消息队列 (三)
一)安装配置数据库 1.1.安装包 # yum install mariadb mariadb-server python2-PyMySQL -y 1.2.配置数据库 # vim /etc/my.cn ...
- (三)RabbitMQ消息队列-Centos7下安装RabbitMQ3.6.1
原文:(三)RabbitMQ消息队列-Centos7下安装RabbitMQ3.6.1 如果你看过前两章对RabbitMQ已经有了一定了解,现在已经摩拳擦掌,来吧动手吧! 用什么系统 本文使用的是Cen ...
随机推荐
- centos下安装python2.7.9和pip以及数据科学常用的包
以前一直用ubantu下的python,ubantu比较卡.自己倾向于使用centos,但默认的python版本太低,所以重新装了一个python和ipython centos6.5安装python2 ...
- R语言笔记002——sample()函数
sample()函数 sample(x,size,replace=FALSE) x表示一个或多个向量,size表示从x中随机取的样本个数,replace=FALSE表示不放回抽样,即不会选取到相同的值 ...
- Ansi 与 Unicode 字符串类型的互相转换
WideCharToMultiByte 实现宽字节转换到窄字节MultiByteToWideChar 实现窄字节转换到宽字节 WideCharToMultiByte 的代码页用来标记与新转换的字符串相 ...
- 天地图OGC WMTS服务规则
图层名称 服务地址 投影类型 矢量底图 http://t0.tianditu.gov.cn/vec_c/wmts?tk=您的密钥 经纬度投影 http://t0.tianditu.gov.cn/vec ...
- 中安装rackspace private cloud --6 Deployment rpc
运行ansible playbook安装之前的准备工作: Perform deployment host initial setup Build containers on target hosts ...
- Oracle创建表空间和增加表空间
1.创建表空间 create tablespace fgq datafile 'E:\app\Administrator\oradata\fms\fgq01.dbf' size 1000M autoe ...
- OA系统是什么,为什么要用OA系统呢?
OA系统即是办公自动化(OA),是面向组织的日常运作和管理,员工及管理者使用频率最高的应用系统,自1985年国 内召开第一次办公自动化规划会议以来,OA系统在应用内容的深度与广度.IT技术运用等方面都 ...
- AI探索(三)Tensorflow编程模型
Tensorflow编程模型 ....后续完善 import os os.environ[' import numpy as np num_points = data_array = [] for i ...
- 制作导航菜单分隔线的总结:用css3
经过百度统计中国中使用谷歌浏览器比较多,我很奇怪,我身边的同事很少用谷歌,唯一我用谷歌的原因就是看上它调试能力和模拟手机. 下面是我个人制作的 预览用谷歌浏览器. <!doctype html& ...
- MySQL for Mac在Mac终端导入导出.sql文件
https://www.cnblogs.com/code4app/p/6222310.html 1.导入 打开终端输入:(前提是已经配置过MySQL环境变量) mysql -u root -p cre ...