rabbitmq 常用命令

来源:互联网 发布:linux读取文件循环 编辑:程序博客网 时间:2024/05/21 02:35
一、一些基本的管理命令:


 一步启动Erlang node和Rabbit应用:./rabbitmq-server


 在后台启动Rabbit node:./rabbitmq-server -detached


 关闭整个节点(包括应用):./rabbitmqctl stop 


二、怎样仅仅关闭应用而不关闭整个节点呢:


因为rabbitmq-server一起启动了节点和应用,它预先设置RabbitMQ应用为standalone模式。要将一个节点加入到现有的集群中,你需要停止这个应用并将节点设置为原始状态,然后就为加入集群准备好了。如果使用./rabbitmqctl stop,应用和节点都将被关闭。所以,


仅仅关闭应用:./rabbitmqctl stop_app


类似的: ./rabbitmqctl start_app 用来启动应用
三、管理:


Rabbitmq服务器的主要通过rabbitmqctl和rabbimq-plugins两个工具来管理,以下是一些常用功能。


3.1. 服务器启动与关闭:


  启动: rabbitmq-server –detached


  关闭:rabbitmqctl stop


  若单机有多个实例,则在rabbitmqctlh后加–n 指定名称
3.2. 插件管理:


  开启某个插件:rabbitmq-pluginsenable xxx


  关闭某个插件:rabbitmq-pluginsdisablexxx


  注意:重启服务器后生效。
3.3.virtual_host管理:


  新建virtual_host: rabbitmqctladd_vhost  xxx


  撤销virtual_host:rabbitmqctl  delete_vhost xxx
3.4. 用户管理:


  新建用户:rabbitmqctl add_user xxxpwd


  删除用户:   rabbitmqctl delete_user xxx


  改密码: rabbimqctlchange_password {username} {newpassword}


  设置用户角色:rabbitmqctlset_user_tags {username} {tag ...}


          Tag可以为 administrator,monitoring, management
3.5. 权限管理:


  权限设置:set_permissions [-pvhostpath] {user} {conf} {write} {read}


           Vhostpath


           Vhost路径


           user


  用户名


          Conf


  一个正则表达式match哪些配置资源能够被该用户访问。


          Write


  一个正则表达式match哪些配置资源能够被该用户读。


           Read


  一个正则表达式match哪些配置资源能够被该用户访问。
3.6. 获取服务器状态信息:


   服务器状态:rabbitmqctl status


   队列信息:rabbitmqctl list_queues[-p vhostpath] [queueinfoitem ...]


            Queueinfoitem可以为:name,durable,auto_delete,arguments,messages_ready,


            messages_unacknowledged,messages,consumers,memory


   Exchange信息:rabbitmqctllist_exchanges[-p vhostpath] [exchangeinfoitem ...]


             Exchangeinfoitem有:name,type,durable,auto_delete,internal,arguments.


   Binding信息:rabbitmqctllist_bindings[-p vhostpath] [bindinginfoitem ...]       


             Bindinginfoitem有:source_name,source_kind,destination_name,destination_kind,routing_key,arguments


   Connection信息:rabbitmqctllist_connections [connectioninfoitem ...]


   Connectioninfoitem有:recv_oct,recv_cnt,send_oct,send_cnt,send_pend等。


   Channel信息:rabbitmqctl  list_channels[channelinfoitem ...]


  Channelinfoitem有consumer_count,messages_unacknowledged,messages_uncommitted,acks_uncommitted,messages_unconfirmed,prefetch_count,client_flow_blocked
部分内容参考自:http://blog.csdn.net/mlks_2008/article/details/18988301


四、rabbitmq配置:


一般情况下,RabbitMQ的默认配置就足够了。如果希望特殊设置的话,有两个途径:


4.1.一个是环境变量的配置文件 rabbitmq-env.conf 。 
4.2.一个是配置信息的配置文件 rabbitmq.config;


注意:这两个文件默认是没有的,如果需要必须自己创建。


示例: 
rabbitmq-env.conf: 
这个文件的位置是确定和不能改变的,位于:/etc/rabbitmq目录下(这个目录需要自己创建)。


#RABBITMQ_NODE_PORT=    //端口号
#HOSTNAME=
RABBITMQ_NODENAME=mq
RABBITMQ_CONFIG_FILE=        //配置文件的路径
RABBITMQ_MNESIA_BASE=/rabbitmq/data        //需要使用的MNESIA数据库的路径
RABBITMQ_LOG_BASE=/rabbitmq/log        //log的路径
RABBITMQ_PLUGINS_DIR=/rabbitmq/plugins    //插件的路径


具体的列表见:http://www.rabbitmq.com/configure.html#define-environment-variables
rabbitmq.config
这是一个标准的erlang配置文件。它必须符合erlang配置文件的标准。
它既有默认的目录,也可以在rabbitmq-env.conf文件中配置。


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