RabbitMQ实践--服务器安装、配置与命令

ubuntu安装rabbitmq-server

按照官网的APT repositories方法安装

#添加以下地址到/etc/apt/sources.list
echo 'deb http://www.rabbitmq.com/debian/ testing main' | sudo tee /etc/apt/sources.list.d/rabbitmq.list
#添加public key
wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -
#更新源
sudo apt-get update
#安装rabbitmq
sudo apt-get install rabbitmq-server
#开启rabbitmq_management插件,本机用guest/guest 可以访问 http://127.0.0.1:15672
sudo rabbitmq-plugins enable rabbitmq_management
#查看用户 
sudo rabbitmqctl list_users
#新增管理员用户,之后可以在局域网内用 设置的帐号admin/密码admin登录了
sudo rabbitmqctl add_user admin admin 
sudo rabbitmqctl set_user_tags admin administrator

配置

主要参考官方文档:http://www.rabbitmq.com/configure.html

一般情况下,RabbitMQ的默认配置就足够了。如果希望特殊设置的话,有两个途径:
一个是环境变量的配置文件 rabbitmq-env.conf ;
一个是配置信息的配置文件 rabbitmq.config;
注意,这两个文件默认是没有的,如果需要必须自己创建。

rabbitmq-env.conf

这个文件的位置是确定和不能改变的,位于:/etc/rabbitmq目录下(这个目录需要自己创建)。
文件的内容包括了RabbitMQ的一些环境变量,常用的有:

RABBITMQ_NODE_IP_ADDRESS=   #IP地址,空串bind所有地址,指定地址bind指定网络接口
RABBITMQ_NODE_PORT=         #TCP端口号,默认是5672
HOSTNAME=
RABBITMQ_NODENAME=          #节点名称。默认是rabbit
RABBITMQ_CONFIG_FILE=       #配置文件路径 ,即rabbitmq.config文件路径
RABBITMQ_MNESIA_BASE=       #需要使用的MNESIA数据库的路径
RABBITMQ_LOG_BASE=          #log的路径
RABBITMQ_PLUGINS_DIR=       #插件的路径

具体的列表见:http://www.rabbitmq.com/configure.html#define-environment-variables

rabbitmq.config

这是一个标准的erlang配置文件。它必须符合erlang配置文件的标准。
它既有默认的目录,也可以在rabbitmq-env.conf文件中配置。
linux可以看看:/usr/share/doc/rabbitmq-server-*/rabbitmq.config.example 可以直接复制过去改改用
windows在安装目录下的etc内也有例子文件,可以参考README.txt配置使用

常用配置:

tcp_listerners          #设置rabbimq的监听端口,默认为[5672]。
disk_free_limit         #磁盘低水位线,若磁盘容量低于指定值则停止接收数据,默认值为{mem_relative, 1.0},即与内存相关联1:1,也可定制为多少byte.
vm_memory_high_watermark    #设置内存低水位线,若低于该水位线,则开启流控机制,默认值是0.4,即内存总量的40%。
force_fine_statistics       #该参数属于rabbimq_management,若为true则进行精细化的统计,但会影响性能。
frame_max               #包大小,若包小则低延迟,若包则高吞吐,默认是131072=128K。
heartbeat               #客户端与服务端心跳间隔,设置为0则关闭心跳,默认是600秒。

文件的内容详见:http://www.rabbitmq.com/configure.html#config-items

命令说明

参考文档:http://www.rabbitmq.com/manpages.html
其中最重要的命令应该是rabbitmqctl了,其次会用到rabbimq-plugins,其余的很少用到

服务器启动与关闭

启动: rabbitmq-server –detached
关闭: rabbitmqctl stop
清空队列,将RabbitMQ节点还原到最初状态: rabbitmqctl reset
停止RabbitMQ应用但Erlang节点仍然运行: rabbitmqctl stop_app
开启RabbitMQ应用:rabbitmqctl start_app
若单机有多个实例,则在rabbitmqctlh后加–n 指定名称

插件管理

开启某个插件:rabbitmq-plugins enable xxx
关闭某个插件:rabbitmq-plugins disable xxx
注意:重启服务器后生效。

用户权限管理

新建用户:rabbitmqctl add_user xxxpwd
删除用户: rabbitmqctl delete_user xxx
改密码:rabbimqctl change_password {username} {newpassword}
设置用户角色:rabbitmqctl set_user_tags {username} {tag …}
Tag可以为 none、management、policymaker、monitoring、administrator
增加vhost:rabbitmqctl add_vhost [vhostname]
赋权限,为user_admin赋予/vhost1的所有资源的配置、写、读权限:sudo rabbitmqctl set_permissions -p /vhost1 user_admin ‘.’ ‘.’ ‘.*’

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

集群管理

加入一个集群,默认disk模式,可用ram模式:rabbitmqctl join_cluster {clusternode} [–ram]
查看集群状态:rabbitmqctl cluster_status
改变当前节点的模式:rabbitmqctl change_cluster_node_type disc
离开集群,将 rabbit@stringer离开 hare@mcnulty.:rabbitmqctl -n hare@mcnulty forget_cluster_node rabbit@stringer
重命名集群的节点:rabbitmqctl rename_cluster_node old new

查看状态

服务器状态:rabbitmqctl status
队列信息:rabbitmqctl list_queues[-p vhostpath] [queueinfoitem …]
Exchange信息:rabbitmqctl list_exchanges[-p vhostpath] [exchangeinfoitem …]
Binding信息:rabbitmqctl list_bindings[-p vhostpath] [bindinginfoitem …]
Connection信息:rabbitmqctl list_connections [connectioninfoitem …]
Channel信息:rabbitmqctl list_channels[channelinfoitem …]
集群信息:rabbitmqctl cluster_status

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值