RabbitMQ是Erlang编写的,所以在安装RabbitMQ之前,需要先安装Erlang,安装语言库,以便运行代理服务器
1.安装Erlang
cd /usr/local/src/
mkdir rabbitmq
cd rabbitmq
wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
rpm --import http://packages.erlang-solutions.com/rpm/erlang_solutions.asc
sudo yum install erlang
2.安装RabbitMQ
上传rabbitmq-server-3.4.1-1.noarch.rpm文件到/usr/local/src/rabbitmq/
[root@root rabbitmq]# rpm -ivh rabbitmq-server-3.4.1-1.noarch.rpm
默认安装路径是usr/sbin目录下
日志文件的路径:在/var/log/rabbitmq/目录下找到rabbit@[hostname].log的日志文件。
Mnssian数据库文件夹:/var/lib/rabbitmq/mnesia
启动、停止
service rabbitmq-server start
service rabbitmq-server stop
service rabbitmq-server restart
进入/usr/sbin目录,执行命令,检查服务器的状态:
[root@root sbin]# rabbitmqctl status
此时安装并且启动成功,我们可以在sbin目录下使用rabbitmqctl来管理RabbitMQ节点;
rabbitmqctl是几乎所有的RabbitMQ管理需要的一站式解决方案。可以使用它创建vhost和列出vhost,还可以关闭RabbitMQ,可以创建用户,删除用户,列出用户。以及给我们的用户在vhost上分配权限等等。
rabbitmqclt的基本功能:
//添加vhost
[root@root sbin]# rabbitmqctl add_vhost dynamic
Creating vhost "dynamic" ...
//列出vhost
[root@root sbin]# rabbitmqctl list_vhosts
Listing vhosts ...
/
dynamic
//添加用户
[root@root sbin]# rabbitmqctl add_user fxq fxq
Creating user "fxq" ...
//在指定的vhost上,给用户授权,用户可以同时授予读,写,配置权限
[root@root sbin]# rabbitmqctl set_permissions -p dynamic fxq ".*" ".*" ".*"
Setting permissions for user "fxq" in vhost "dynamic" ...
//验证权限是否授予
[root@root sbin]# rabbitmqctl list_permissions -p dynamic
Listing permissions in vhost "dynamic" ...
fxq .* .* .*
//清除权限
[root@root sbin]# rabbitmqctl clear_permissions -p dynamic fxq
//设置角色为管理员
[root@root sbin]# rabbitmqctl set_user_tags fxq administrator
Setting tags for user "fxq" to [administrator] ...
//列出队列
[root@root sbin]# rabbitmqctl list_queues
Listing queues ...
//列出交换器
[root@root sbin]# rabbitmqctl list_exchanges
Listing exchanges ...
direct
amq.direct direct
amq.fanout fanout
amq.headers headers
amq.match headers
amq.rabbitmq.log topic
amq.rabbitmq.trace topic
amq.topic topic
我们熟悉了rabbitmqctl脚本在命令行上管理RabbitMQ,如果有一个图形化界面岂不是更好。所以有了RabbitMQ Management插件,可以图形化信息,使得管理更加轻松
3.安装图形化界面
[root@root sbin]# rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
mochiweb
webmachine
rabbitmq_web_dispatch
amqp_client
rabbitmq_management_agent
rabbitmq_management
Applying plugin configuration to rabbit@root... started 6 plugins.
重启服务,使用我们之前用命令创建的用户fxq进行登录。
通过图形化界面可以看到之前命令行中添加的vhost,用户,以及给用户分配的角色。而这些内容,通过图形胡界面可以更加方便的使用。图形化界面也使得监控交换器,队列,信道,以及消息的变化,交换器和队列的绑定等内容,更加简单。