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