• 安装服务(root)

erlang官方安装说明:https://www.erlang-solutions.com/resources/download.html

step 1: 安装erlang的yum源 (或者安装epel源,如果不要求最最新版本的话)

wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm

rpm -Uvh erlang-solutions-1.0-1.noarch.rpm

step 2: 

安装erlang

# yum clean all ; yum makecache

# yum install erlang   -y    (Rabbitmq 基于 erlang 语言开发,所以需要安装 erlang 虚拟机)

step 3: 
确认erlang安装成功

# erl 

Erlang R14B04 (erts-5.8.5) [source] [64-bit] [smp:4:4] [rq:4] [async-threads:0] [kernel-poll:false]

Eshell V5.8.5 (abort with ^G)
1>io:format("hello world ~n").

输出 hello world ok   安装erlang完毕, 用 halt(). 退出

step 4:

安装rabbitmq-server

Rabbitmq官方安装说明: http://www.rabbitmq.com/install-rpm.html

导入rabbitmq 数字签名key 支持后安装

       # wget https://www.rabbitmq.com/releases/rabbitmq-server/current/rabbitmq-server-3.6.1-1.noarch.rpm
       # rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc     
       # yum install rabbitmq-server-3.6.1-1.noarch.rpm

rabbitmq-server安装完成


第一次安装时没有更新EPEL安装到这里遇到的问题:

提示erlang 版本支持问题

Error: Package: rabbitmq-server-3.4.2-1.noarch (/rabbitmq-server-3.4.2-1.noarch)

Requires: erlang >= R12B-3
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

删除所有相关rpm包后重新按照官方文档安装

rpm -e  epel-release-6-8.noarch


  • 运行RabbitMQ Server

    设置开机自动启动 rabbitmq-server
    # chkconfig --level 35 rabbitmq-server on
     
    启动rabbitmq-server   [start][stop][etc]
    # service rabbitmq-server start
     
    rabbitmqctl status  #查看运行信息
 
  • 安装插件管理界面
         # mkdir -m 777 /etc/rabbitmq/ (如果目录已经存在直接执行 # chmod 777  -R  /etc/rabbitmq/)
 
         # rabbitmq-plugins enable rabbitmq_management
 
         重启rabbitmq-server
         # rabbitmqctl stop
 
          # rabbitmq-server start 
   
         查看管理端口有没有启动:
         # netstat -tnlp|grep
    
         浏览器打开http://IP:15672 账号密码都是guest,如果局域网无法访问设置防火墙过滤规则或关闭防火墙
        
         如果仍然出现无法登陆的想象,查看日志后,显示:
         =ERROR REPORT==== 31-Dec-2014::17:00:41 ===
         webmachine error: path="/api/whoami"
         "Unauthorized"
         那么请运行如下的命令,增加用户admin,密码admin即可。
         #rabbitmqctl  add_user admin admin                             新增加用户admin
         #rabbitmqctl set_permissions  admin  ".*" ".*" ".*"         设置admin的权限
         #rabbitmqctl set_user_tags admin administrator             设置用户角色为高级管理员
         #rabbitmqctl list_users                                                  查看当前已有用户列表
安装rabbitmqadmin命令:
#chmod 755 /usr/local/bin/rabbitmqadmin
#rabbitmqadmin declare queue name=ha.123 durable=true    命令行创建队列(在节点上建立一个名字为ha.123的队列,durable设为true)
 
RabbitMQ配置:
 
相关环境变量参考官网的一些资料:
http://www.rabbitmq.com/relocate.html
http://www.rabbitmq.com/configure.html#define-environment-variables
 
 
创建新的环境配置文件(启动服务时会自动加载,没有指定的采取默认值)

touch /etc/rabbitmq/rabbitmq-env.conf

RABBITMQ_NODENAME=rabbit@server-66    #节点名称
RABBITMQ_NODE_IP_ADDRESS=0.0.0.0      #监听IP
RABBITMQ_NODE_PORT=5672                    #监听端口
RABBITMQ_LOG_BASE=/data/rabbitmq/log   #日志目录
RABBITMQ_PLUGINS_DIR=/data/rabbitmq/plugins                          #插件目录,,默认 /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.1/plugins

RABBITMQ_PLUGINS_EXPAND_DIR=/data/rabbitmq/plugins-expand #扩展插件目录,默认/var/lib/rabbitmq/mnesia/rabbit@server-65-plugins-expand

RABBITMQ_MNESIA_BASE=/data/rabbitmq/mnesia                         #后端存储目录

 
 把以上提到的三个目录分别进行转移到指定目录后,重新启动服务即可生效。
  
---------------------------------------------------------------------------------------------------------
rabbitMQ一些常用命令

rabbitctl

rabbitmqctl 是rabbitMQ中间件的一个命令行管理工具。它通过连接一个中间件节点执行所有的动作。

rabbitmqctl [-n node] [-q] {command} [command options…]

[-n node]

默认的节点是”rabbit@server”,一般是本地节点。

rabbitmqctl 默认产生详细输出。通过”-q”标示可选择安静模式。

应用和集群管理

1.  停止rabbitMQ应用,关闭节点 : rabbitmqctl stop

2.  停止rabbitMQ应用 : rabbitmqctl stop_app

3.  启动rabbitMQ应用 : rabbitmqctl start_app

4.  显示rabbitMQ中间件各种信息 : rabbitmqctl status

5.  重置rabbitMQ节点 : rabbitmqctl reset和  rabbitmqctl force_reset 从它属于的任何集群中移除,从管理数据库中移除所有数据,例如配置过的用户和虚拟宿主, 删除所有持久化的消息。 force_reset命令和reset的区别是无条件重置节点,不管当前管理数据库状态以及集群的配置。如果数据库或者集群配置发生错误才使用这个最后 的手段。 注意:只有在停止rabbitMQ应用后,reset和force_reset才能成功。

6.  循环日志文件 : rabbitmqctl rotate_logs[suffix]

7.  加入到某个节点中:rabbitmqctl join_cluster {clusternode} [--ram]默认是ram类型的,也可以是disc类型

8.  集群目前的状态:rabbitmqctl cluster_status

9.  改变当前节点的类型:rabbitmqctl change_cluster_node_type {disc | ram}使用这个命令的时候必须先把该节点stop。

10. 同步某个队列(建立镜像队列):rabbitmqctl sync_queue {queue-name}

11. 取消同步某个队列:rabbitmqctl cancel_sync_queue{queue-name}

用户管理

1.  添加用户:rabbitmqctl add_user username password

2.  删除用户:rabbitmqctl delete_user username

3.  修改密码:rabbitmqctl change_password username newpassword

4.  清除密码:rabbitmqctl clear_password {username}

5.  设置用户标签:rabbitmqctl set_user_tags {username} {tag…}如果tag为空则表示清除这个用户的所有标签

6.  列出所有用户 :rabbitmqctl list_users

权限控制

1.  创建虚拟主机:rabbitmqctl add_vhost vhostpath

2.  删除虚拟主机:rabbitmqctl delete_vhost vhostpath

3.  列出所有虚拟主机:rabbitmqctl list_vhosts

4.  设置用户权限:rabbitmqctl set_permissions [-p vhostpath] {username} {conf} {write} {read}

5.  清除用户权限:rabbitmqctl clear_permissions [-p vhostpath] {username}

6.  列出虚拟主机上的所有权限:rabbitmqctl list_permissions [-p vhostpath]

7.  列出用户权限:rabbitmqctl list_user_permissions {username}

参数管理

这个不常用,具体的可以去官网看文档

协议管理

1.  设置协议:rabbitmqctl set_policy [-p vhostpath] [--priority priority] [--apply-to apply-to] {name} {pattern} {definition}

a)  name

协议的名字

b)  pattern

匹配的正则表达式

c)  definition

json term的形式来定义这个协议

d)  priority

优先级,数字越大优先级越高,默认为0

e)  apply-to

policy的类型,有三种:queues exchanges all 默认为all,具体定义可以去官网看文档

2.  清除协议:rabbitmqctl clear_policy [-p vhostpath] {name}

3.  列出协议列表:rabbitmqctl list_policies [-p vhostpath]

服务器状态

1.  队列列表:rabbitmqctl list_queues [-p vhostpath] [queueinfoitem…]

queueinfoitem:

a)  name

b)  durable

c)  auto_delete

d)  arguments

e)  policy

f)  pid

g)  owner_pid

h)  exclusive_consumer_pid

i)  exclusive_consumer_tag

j)  messages_ready

k)  messages_unacknowledged

l)  messages

m)  consumers

n)  active_consumers

o)  memory

p)  slave_pids

q)  synchronized_slave_pids

r)  status

2.  交换机列表:rabbitmqctl list_exchanges [-p vhostpath] [exchangeinfoitem…]

exchangeinfoitem:

a)  name

b)  type

c)  durable

d)  auto_delete

e)  internal

f)  arguments

g)  policy

3.  绑定列表:rabbitmqctl list_bindings [-p vhostpath] [bindinginfoitem…]

bindinginfoitem:

a)  source_name

b)  source_kind

c)  destination_name

d)  destination_kind

e)  routing_key

f)  arguments

4.  连接列表:rabbitmqctl list_connections不常用,具体去官网看文档

5.  通道列表:rabbitmqctl list_channels不常用,具体去官网看文档

6.  消费者列表:rabbitmqctl list_consumers

7.  当前状态:rabbitmqctl status

8.  当前环境:rabbitmqctl environment

9.  相关报告:rabbitmqctl report

一些其他的命令

后台开启rabbitmq服务:rabbitmq-server –detached

声明队列:rabbitmqadmin declare queue name=queue-name durable={false | true}

发布消息:rabbitmqadmin publish exchange=exchange-name routing_key=key payload=”context”

如果有任何疑问可以去官网看文档:

https://www.rabbitmq.com/man/rabbitmqctl.1.man.html

RabbitMq install on Centos的更多相关文章

  1. Install RabbitMQ server in CentOS 7

    About RabbitMQ RabbitMQ is an open source message broker software, also sometimes known as message-o ...

  2. How to: cgminer (Bitcoin, Litecoin etc.) + AMD Radeon driver install on CentOS

    UPDATE 7/7/13: If you want to use Catalyst drivers version 12.8 you will find that X won’t start (er ...

  3. RabbitMQ系列之Centos 7安装RabbitMQ 3.6.1

    1.安装EPEL-7: rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm 2.安 ...

  4. RabbitMq install on Centos6.3

    安装服务(root) step 1:  启用EPEL:EPEL是一个Fedora Project 推出的 EPEL(Extra Packages for Enterprise Linux),EPEL是 ...

  5. kubernetes install for centos

    官方的文档写的很清楚 https://kubernetes.io/docs/getting-started-guides/centos/centos_manual_config/ 如果已经安装过doc ...

  6. rabbitmq install erlang faild

    我安装的时候莫名的出现这2个错误 No Presto metadata available for rabbitmq-erlangwarning: /var/cache/yum/x86_64/7/ra ...

  7. RabbitMQ install (Ubuntu)

    1. key 1) Online way apt-key adv --keyserver "hkps.pool.sks-keyservers.net" --recv-keys &q ...

  8. glibc2.14 install from centos

    安装glibc2.14 Tar xf glibc-2.14.tar.gz Cd glibc-2.14 Mkdir build Cd build ../configure –prefix=/opt/gl ...

  9. nginx install in centos

    1.在nginx下载rpm包,如nginx-release-centos-6-0.el6.ngx.noarch.rpm ,并安装(可用yum直接安装): 注:rpm包只是提供一个nginx源. 2.使 ...

随机推荐

  1. oracle之 变更OS时间对数据库的影响

    本文:说明提供了操作系统日期变更对数据库.应用程序数据和作业的影响. 1.它将会影响插入的任何记录,如果涉及到sysdate,则更改日期.2.它还会影响在那个日期运行的任何调度器作业. 如果将系统时间 ...

  2. 【Spring-AOP-学习笔记-4】@After后向增强处理简单示例

    说明 After增强处理的作用非常类似于异常处理中的finally块的作用,无论如何,他总会在方法执行结束之后被织入,因此特别适应于垃圾回收. 项目结构 程序 @Component("hel ...

  3. 【ActiveMQ入门-5】ActiveMQ学习-消息持久性

    ActiveMQ中的消息持久性     ActiveMQ很好的支持了消息的持久性(Persistence).消息持久性对于可靠消息传递来说应该是一种比较好的方法,有了消息持久化,即使发送者和接受者不是 ...

  4. python selenium-8 Page Object模式

    封装空间操作为一个接口使用,而不是直接在页面中查找 from selenium import webdriver from selenium.webdriver.common.by import By ...

  5. uploadify是通过flash上传,服务器获取type为application/octet-stream

    uploadify是通过flash上传,服务器获取type为application/octet-stream,因此允许上传的类型要加上application/octet-stream

  6. CRM 2016 级联过滤 类比省市县

    以下以省市为例: function preFilterLookup() { //要进行过滤的lookup按钮加入addPresearch事件 Xrm.Page.getControl("shi ...

  7. Web API 源码剖析之默认消息处理程序链之路由分发器(HttpRoutingDispatcher)

    Web API 源码剖析之默认消息处理程序链-->路由分发器(HttpRoutingDispatcher) 我们在上一节讲述了默认的DefaultServer(是一个类型为HttpServer的 ...

  8. 下载任意版本的Chromium

    Download Chromium You can test Chrome builds or Chromium builds.  Chrome builds have the most infras ...

  9. 一些你需要知道的Python代码技巧

    被人工智能捧红的 Python 已是一种发展完善且非常多样化的语言,其中肯定有一些你尚未发现的功能.本文或许能够让你学到一些新技巧.   Python 是世界上最流行.热门的编程语言之一,原因很多,比 ...

  10. 深度学习中的Normalization模型

    Batch Normalization(简称 BN)自从提出之后,因为效果特别好,很快被作为深度学习的标准工具应用在了各种场合.BN 大法虽然好,但是也存在一些局限和问题,诸如当 BatchSize ...