rabbitmq的安装与启动

debian安装

添加deb http://www.rabbitmq.com/debian/ testing main到源(/etc/apt/sources.list)中



安装:sudo apt-get install rabbitmq-server





启动:sudo invoke-rc.d rabbitmq-server stop/start/etc.



注:服务器默认已启动的





可选设置:



1.修改ulimit:在/etc/default/rabbitmq-server中设置该参数





通用linux安装



直接下载二进制包:http://www.rabbitmq.com/releases/rabbitmq-server/v3.1.5/rabbitmq-server-generic-unix-3.1.5.tar.gz



依赖erlang,若提示找不到命令erl,则请安装erlang,然后设置环境变量到该erlang所在sbin目录中



运行:sbin/rabbitmq-server或 sbin/rabbitmq-server -detached(在后台起)



停止:sbin/rabbitmqctl stop



常用设置


默认情况下无需设置,如实在需要设置,有三种方式:



1.环境变量,或在/etc/rabbitmq/rabbitmq-env.conf文件中设置



2.配置文件



3.运行环境:集群相关配置可以在运行时动态修改





自定义配置如下,若配置文件不存在,自行创建rabbitmq.config和rabbitmq-env.conf(window环境不用)文件



Generic UNIX - $RABBITMQ_HOME/etc/rabbitmq/



Debian - /etc/rabbitmq/



RPM - /etc/rabbitmq/



Mac OS X (Macports) - ${install_prefix}/etc/rabbitmq/, the Macports prefix is usually /opt/local



Windows - %APPDATA%\RabbitMQ\





日志在/var/log/rabbitmq中。





用户环境变量:



rabbitmq先从环境变量中取(需带上RABBITMQ_前缀)变量,若没有,再从rabbitmq-env.conf中取(不带RABBITMQ_前缀)变量,若还是没有,采用默认值



常见环境变量配置:



端口,默认5672



节点名



服务名,默认RabbitMQ



指定rabbitmq.config配置文件路径



console日志,默认无,即不打印console。若new表示当每次启动server时新创建文件来打印,若resue表示启动server后文件将被覆盖





用户配置:



通过设置rabbitmq.config来设置core,erlang service,plugins等



配置格式举例:



[



    {mnesia, [{dump_log_write_threshold, 1000}]},



    {rabbit, [{tcp_listeners, [5673]}]}



].





配置模板:



[



  {rabbitmq_management, [{listener, [{port, 12345}]}]}



].





具体配置项参见:http://www.rabbitmq.com/configure.html



命令行管理





rabbitmqctl 是管理rabbitmq的命令行工具,用于查看管理rabbitmq的常用功能。



以下是一些常用功能命令:



//查看rabbit 的broker状态



rabbitmqctl status



//显示所有queue列表



rabbitmqctl list_queues



rabbitmqctl list_queues name messages_ready messages_unacknowledged



//显示所有exchange列表



rabbitmqctl list_exchanges





详细命令详见http://www.rabbitmq.com/man/rabbitmqctl.1.man.html





另外如果你用同一个应用启动了不同实例(eg:RABBITMQ_NODE_PORT=5673 RABBITMQ_NODENAME=hare rabbitmq-server -detached),在进行管理操作的时候需要指定节点名:



rabbitmqctl -n node1





插件



//常用rabbit插件



使用rabbitmq-plugins来管理插件



//开启基于http 的管理插件



1.rabbitmq-plugins enable rabbitmq_management



2.打开http://server-name:15672/



默认初始管理员用户为user:guest,psw:guest



若没有用户或用户权限不够,可用命令行手动创建用户:rabbitmqctl add_user 并指定管理权限 rabbitmqctl set_user_tags





其他插件相关详细:http://www.rabbitmq.com/plugins.html





另外rabbitmq提供了一个api和rabbitmqadmin脚本管理:



http的api:http://192.168.144.157:15672/api/



rabbitmqadmin脚本下载:http://xxx.xxx.xxx.xxx:15672/cli/



该脚本提供了一个命令行方式来操作web方式都有的管理功能。详情参见http://www.rabbitmq.com/management-cli.html