• 安装服务(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. Upgrade to or Install Cinnamon 2.4 in Ubuntu

    http://www.omgubuntu.co.uk/2014/11/install-cinnamon-2-4-ubuntu-14-04-lts sudo add-apt-repository ppa ...

  2. CentOS6.8 x64+Nginx1.3.8/Apache-httpd 2.4.3+PHP5.4.8(php-fpm)+MySQL5.5.28+CoreSeek4.1源码编译安装

    系统为CentOS6.8 x64服务器版精简安装. 准备工作 部署安装目录 /usr/local/* /var/lib/* /var/lib64/* 下载源文件 #cd /usr/local/src ...

  3. ORACLE数据导入导出后新数据库中某些表添加操作报错[ORA-12899]

    由于项目需要,我在搭建了新的开发环境后,需要将之前环境中的ORACLE数据库导出,再导入到新的开发环境下.当导出导入完成后,使用数据库进行添加操作时 发现针对很多表的添加操作报错,具体报错原因描述为: ...

  4. POJ3585 Accumulation Degree(二次扫描与换根法)

    题目:http://poj.org/problem?id=3585 很容易想出暴力.那么就先扫一遍. 然后得到了指定一个根后每个点的子树值. 怎么转化利用一下呢?要是能找出当前点的父亲的 “ 不含当前 ...

  5. vqmod for opencart插件制作进阶与技巧

    FROM: http://www.sdtclass.com/4799.html 15年的时候,我写过一篇文章<略谈 vqmod for opencart 插件制作过程>,也不知道被哪些人抄 ...

  6. arcgis desktop can not connect to previous version of license manager

    解决方法:  license manager以 管理员身份运行.

  7. FPGA将加速今日新型态数据中心的主流应用

    在这个强调智能与联网的时代,可编程逻辑栅阵列 (FPGA)已经成为一个重要且不可或缺的元件.以全球500亿个联网设备,一年所产生的数据量将不计其数.从数据中心.5G通讯.虚拟网络功能,到嵌入式系统,F ...

  8. Hadoop专业解决方案-第1章 大数据和Hadoop生态圈

    一.前言: 非常感谢Hadoop专业解决方案群:313702010,兄弟们的大力支持,在此说一声辛苦了,经过两周的努力,已经有啦初步的成果,目前第1章 大数据和Hadoop生态圈小组已经翻译完成,在此 ...

  9. 敏感词文本文件 filtered_words.txt,里面的内容为以下内容,当用户输入敏感词语时,则打印出 Freedom,否则打印出 Human Rights

    敏感词文件内容: 代码: def filtered_words(path='filtered_words.txt'): words = [] with open(path, 'r', encoding ...

  10. POJ 3268 Silver Cow Party 最短路径+矩阵转换

    Silver Cow Party Time Limit : 4000/2000ms (Java/Other)   Memory Limit : 131072/65536K (Java/Other) T ...