您的位置:首页 > 其它

rabbit知识点汇总笔记

2014-08-20 09:34 288 查看
rabbitmq-plugins enable rabbitmq_management //启用管理插件

rabbitmqctl set_user_tags usrname administrator //设置administrator角色

queue_declare($_QUEUE,false,true,false,false);

第三个参数设置true保证服务器重启后,自动建立队列

第五个参数设置成false防止接收端没连接的时候丢失消息

$ch->exchange_declare($EXCHANGE, 'direct', false, true, false);

第四个参数设置true保证重启后,自动建立交换机

第五个参数设置false防止接收端断开后,交换机被删除

关于修改监听ip和监听端口

vi /etc/rabbitmq/rabbitmq.conf

RABBITMQ_NODE_IP_ADDRESS=0.0.0.0

RABBITMQ_NODE_PORT=2222

配置

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

一个是环境变量的配置文件 rabbitmq-env.conf ;

一个是配置信息的配置文件 rabbitmq.config;

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

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

文件的内容包括了RabbitMQ的一些环境变量,配置下面:

RABBITMQ_MNESIA_BASE=/rabbitmq/data        //需要使用的MNESIA数据库的路径

RABBITMQ_LOG_BASE=/rabbitmq/log        //log的路径

RABBITMQ_PLUGINS_DIR=/rabbitmq/plugins    //插件的路径

rabbitmq.config

这是一个标准的erlang配置文件。它必须符合erlang配置文件的标准。

它既有默认的目录,也可以在rabbitmq-env.conf文件中配置。

管理

Rabbitmq服务器的主要通过rabbitmqctl和rabbimq-plugins两个工具来管理

持久化

创建queue和exchange默认情况下都是没有持久化的,节点重启之后queue和exchange就会消失,这里需要特别指定queue和exchange的durable属性.

启动异常

启动rabbitmq-server时,报错信息:Starting rabbitmq-server: FAILED - check /var/log/rabbitmq/startup_{log, _err}

解决:使用netstat 查看是否存在,如果存在用kiss 将其杀死,在启动,我试过可以解决

持久化

一般的AMQP库都是将Delivery Mode设置成1,也就是非持久的。所以要持久化消息的步骤如下:

将交换机设成 durable。

将队列设成 durable。

将消息的 Delivery Mode 设置成2 。

应用和集群管理 

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 

6.循环日志文件 

# rabbitmqctl rotate_logs[suffix] 

7.集群管理   www.2cto.com  

# rabbitmqctl cluster clusternode… 

用户管理 

1.添加用户 

# rabbitmqctl add_user username password 

2.删除用户 

# rabbitmqctl delete_user username 

3.修改密码 

# rabbitmqctl change_password username newpassword 

4.列出所有用户 

# rabbitmqctl list_users 

 

权限控制 

1.创建虚拟主机 

# rabbitmqctl add_vhost vhostpath 

2.删除虚拟主机   www.2cto.com  

# rabbitmqctl delete_vhost vhostpath 

3.列出所有虚拟主机 

# rabbitmqctl list_vhosts 

4.设置用户权限 

# rabbitmqctl set_permissions [-p vhostpath] username regexp regexp regexp 

5.清除用户权限 

# rabbitmqctl clear_permissions [-p vhostpath] username 

6.列出虚拟主机上的所有权限 

# rabbitmqctl list_permissions [-p vhostpath] 

7.列出用户权限 

# rabbitmqctl list_user_permissions username

参考:http://blog.csdn.net/zhangxinrun/article/details/8178262 

     http://www.cnblogs.com/whymaths/archive/2013/01/27/2878529.html

     http://www.cnblogs.com/orez88/articles/1864328.html

     http://2057.iteye.com/blog/1749945

     http://www.2cto.com/os/201206/137847.html?fw_key=20EAF9E5E8BB84D5
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: