Linux下RabbitMQ安装、运行与管理

安装erlang

安装参考官网

RabbitMQ的安装需要Erlang的基础环境,必须按照RabbitMQ Erlang版本要求进行安装。

关于Erlang官方的安装方式有三种:

官方制作的依赖软件包
Erlang Solutions的软件包(这个可以自定义yum库安装,本人自己下载安装)
EPEL(“Enterprise Linux的额外软件包”)

  

1.依赖环境安装

yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC unixODBC-devel httpd python-simplejson

2.获取安装文件

wget http://erlang.org/download/otp_src_19.2.tar.gz

3.解压erlang安装包 

tar -xzvf otp_src_19.2.tar.gz

4. cd erlang目录 

cd otp_src_19.2

5.编译安装erlang语言环境--prefix=/usr/local/erlang为安装目录

./configure  --prefix=/usr/local/erlang

6.编译安装

make && make install

7.配置环境变量

vi /etc/profile

export PATH=$PATH:/usr/local/erlang/bin

source /etc/profile

8.验证是否安装成功 

erl

  

安装RabbitMQ

安装指南  安装版本选择

1.cd到指定目录

cd /usr/local  //切换到计划安装RabbitMQ的目录,我这里放在/usr/local

2.下载

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.1/rabbitmq-server-generic-unix-3.6.1.tar.xz  //下载RabbitMQ安装包

3.解压

xz -d rabbitmq-server-generic-unix-3.6.1.tar.xz

 

tar -xvf rabbitmq-server-generic-unix-3.6.1.tar

4.改名

mv rabbitmq_server-3.6.1/ rabbitmq

5.配置rabbitmq环境变量

vi /etc/profile
#set rabbitmq environment
export PATH=$PATH:/usr/local/rabbitmq/sbin
source /etc/profile

  

RabbitMQ 运行和管理

 运行常用命令

//常用的rabbitmq的命令
service rabbitmq-server start
service rabbitmq-server stop
service rabbitmq-server status
service rabbitmq-server rotate-logs|
service rabbitmq-server restart
service rabbitmq-server condrestart
service rabbitmq-server try-restart
service rabbitmq-server reload
service rabbitmq-server force-reload
service rabbitmq-server -detached //后台启动
ps -ef | grep rabbitmq 查看rabbitMq进程 netstat -anplt | grep LISTEN rabbitmq默认监听端口15672/5672

web管理

 15672 网页管理,  5672 AMQP端口
rabbitmq默认创建的用户guest,密码也是guest,这个用户默认只能是本机访问,localhost或者127.0.0.1,从外部访问需要添加上面的配置。
//先创建目录,以免报错
mkdir /etc/rabbitmq //开启管理页面插件
rabbitmq-plugins enable rabbitmq_management
管理插件安装完成后,出现如下提示,表示安装成。
The following plugins have been enabled:
mochiweb
webmachine
rabbitmq_web_dispatch
amqp_client
rabbitmq_management_agent
rabbitmq_management
Plugin configuration has changed. Restart RabbitMQ for changes to take effect.

重启rabbitmq服务

service rabbitmq-server restart
可以用浏览器输入localhost:15672,账号密码全输入guest即可登录

配置防火墙

配置linux 端口 15672 网页管理 5672 AMQP端口:

firewall-cmd --permanent --add-port=15672/tcp
firewall-cmd --permanent --add-port=5672/tcp
systemctl restart firewalld.service

  

管理常用命令

查看mq用户:rabbitmqctl list_users  

查看用户权限:rabbitmqctl list_user_permissions guest

新增用户: rabbitmqctl add_user admin 123456

赋予管理员权限:

rabbitmqctl set_user_tags admin administrator 

rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

  

可以创建管理员用户,负责整个MQ的运维,例如:
rabbitmqctl add_user user_admin passwd_admin 赋予其administrator角色:
rabbitmqctl set_user_tags user_admin administrator 可以创建RabbitMQ监控用户,负责整个MQ的监控,例如:
rabbitmqctl add_user user_monitoring passwd_monitor 赋予其monitoring角色:
rabbitmqctl set_user_tags user_monitoring monitoring 可以创建某个项目的专用用户,只能访问项目自己的virtual hosts
sudo rabbitmqctl add_user user_proj passwd_proj 赋予其monitoring角色:
rabbitmqctl set_user_tags user_proj management 创建和赋角色完成后查看并确认:
rabbitmqctl list_users

  

RabbitMQ用户角色及权限控制

1.RabbitMQ的用户角色分类:

none、management、policymaker、monitoring、administrator

2.RabbitMQ各类角色描述:

none

不能访问 management plugin

management

用户可以通过AMQP做的任何事外加:

列出自己可以通过AMQP登入的virtual hosts 

查看自己的virtual hosts中的queues, exchanges 和 bindings

查看和关闭自己的channels 和 connections

查看有关自己的virtual hosts的“全局”的统计信息,包含其他用户在这些virtual hosts中的活动。

policymaker

management可以做的任何事外加:

查看、创建和删除自己的virtual hosts所属的policies和parameters

monitoring 

management可以做的任何事外加:

列出所有virtual hosts,包括他们不能登录的virtual hosts

查看其他用户的connections和channels

查看节点级别的数据如clustering和memory使用情况

查看真正的关于所有virtual hosts的全局的统计信息

administrator  

policymaker和monitoring可以做的任何事外加:

创建和删除virtual hosts

查看、创建和删除users

查看创建和删除permissions

关闭其他用户的connections

  

Linux下RabbitMQ安装、运行与管理的更多相关文章

  1. Linux下RabbitMq安装

    在大多数大公司,像应用服务器软件的安装.部署都是运维的事情,其实自己去尝试部署一下,也是有收获的. 有机会正好尝试了Linux下的rabbitMq安装过程,做了记录,希望有用到的人可以做下参考. 安装 ...

  2. linux下redis安装运行教程——redis系列

    天没降大任于我,照样苦我心智,劳我筋骨. 安装运行的过程 由于官网太慢,csdn里的资源又要钱,所以呢,只能使用我自己本地以前下载的陈年..哦不,3.xredis安装包 资源已经放到百度云,需要的可以 ...

  3. Linux下SVN安装与权限管理

    cat /etc/redhat-release //查看系统版本号 CentOS release 7.1 (Final) 这里我们採用yum源安装方式: 1.安装svn yum install sub ...

  4. linux 下rabbitmq 安装

    准备工作: erlang环境  otp_src_19.0.tar.gz rabbitmq   abbitmq-server-generic-unix-3.6.5.tar.xz # yum -y ins ...

  5. RabbitMQ 安装与界面管理

    RabbitMQ 安装与界面管理 RabbitMQ概述 官网:https://www.rabbitmq.com/ RabbitMQ是部署最广泛的开源消息代理. RabbitMQ拥有成千上万的用户,是最 ...

  6. [转]Caffe在Linux下的安装,编译,实验

    Caffe在Linux下的安装,编译,实验  原文地址:http://www.cnblogs.com/evansyang/p/6150118.html 第一部分:Caffe 简介 caffe是有伯克利 ...

  7. windows 下rabbitmq 安装---转载

    原文地址:http://blog.sina.com.cn/s/blog_7cc0c8cc0101mb4a.html 1.下载并安装erlang,http://www.erlang.org/downlo ...

  8. Linux下编译安装qemu和libvirt

    目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 2 安装libvirt 2.1 libvirt介绍 2.2 下载libvirt 2.3 编译安装 3  ...

  9. Linux 下如何安装软件?

    http://zhidao.baidu.com/link?url=OkQCOZtVMXhasC8x9zFTZOumsFKf0WW25Ckr2wBF1xO08EsjrBpnMaTBlIAUYdxZ408 ...

随机推荐

  1. B. Array K-Coloring

    B. Array K-Coloring 给定一个数组 要求对元素进行染色,满足相同元素颜色一定不同,且所有颜色要全部用完 #include<bits/stdc++.h> using nam ...

  2. Java并发编程的艺术笔记(二)——wait/notify机制

    一.概述 一个线程修改了一个对象的值,另一个线程感知到变化从而做出相应的操作.前者是生产者,后者是消费者. 等待/通知机制,是指一个线程A调用了对象O的wait()方法进入等待状态,而另一个线程B调用 ...

  3. 高级软件测试技术-任务进度和总结-Day04

    任务进度11-16 使用工具 Jira 小组成员 华同学.郭同学.穆同学.沈同学.覃同学.刘同学 任务进度 经过了这几天的学习和小组成员的努力,虽然其中还准备了考试,但是大家还是最终按时完成了任务,今 ...

  4. MongoDB通过JavaDriver执行shell命令,例如创建sharding collection

    Mongodb的java driver本身的接口 void createCollection(String collectionName, CreateCollectionOptions create ...

  5. ACM ICPC 2011-2012 Northeastern European Regional Contest(NEERC)K Kingdom Roadmap

    K: 给你n个点以及n-1的条边, 问你最少要加多少条边,使得每两个点割去一条联通的边,还可以使的这两个点连通. 有个一个结论,最少添加的边数为(叶子节点数+1)/ 2. 我们可以只考虑叶子节点数应该 ...

  6. SVN更新报错:Checksum mismatch for ……

    问题: Checksum mismatch while updating '……'; expected: '3f9fd4dd7d1a0304d8020f73300a3e07', actual: 'cd ...

  7. 一个蒟蒻的解题过程记录——洛谷P1003 铺地毯

    这到题算是我“火线回归”后码的第一道题,病好了心情不错,发篇博客分享一下 目录: ·题目描述 ·题目分析 ·解题思路 ·代码实现 ·总结 ·题目描述: 为了准备一场特殊的颁奖典礼,组织者在会场的一片矩 ...

  8. sqlalchemy.exc.InvalidRequestError: Table 'run_result' is already defined for this MetaData instance

    临时解决办法: 在models文件导入db后,加上如下代码: db.metadata.clear() 但解决问题的根本之处还是在于找到,为何会声明了2次类的定义呢? 解析: table 'roles_ ...

  9. Jenkins安装以及配置

    Jenkins介绍 Jenkins是一个java开发的.开源的.非常好用持续集成的工具,它能帮我们实现自动化部署环境.测试.打包等等的工作,还可以在构建任务成功或者失败之后给我们发邮件通知. 什么叫持 ...

  10. Python 笔试集(3):编译/解释?动态/静态?强/弱?Python 是一门怎样的语言

    面试题 解释/编译?动态/静态?强/弱?Python 到底是一门怎样的语言? 编译 or 解释? 编译.解释都是指将(与人类亲和的)编程语言翻译成(计算机能够理解的)机器语言(Machine code ...