美文网首页Rabbit MQ
(三)RabbitMQ 安装

(三)RabbitMQ 安装

作者: 冯艳辉brook | 来源:发表于2018-01-29 18:53 被阅读0次

    RabbitMQ 安装

    一般来说安装 RabbitMQ 之前要安装 Erlang ,可以去Erlang官网下载。接着去RabbitMQ官网下载安装包,之后解压缩即可。根据操作系统不同官网提供了相应的安装说明:WindowsDebian / UbuntuRPM-based LinuxMac

    如果是Mac 用户,个人推荐使用 HomeBrew 来安装,安装前要先更新 brew:

    brew update

    接着安装 rabbitmq 服务器:

    brew install rabbitmq

    这样 RabbitMQ 就安装好了,安装过程中会自动其所依赖的 Erlang 。

    RabbitMQ 运行和管理

    启动

    启动很简单,找到安装后的 RabbitMQ 所在目录下的 sbin 目录,可以看到该目录下有6个以 rabbitmq 开头的可执行文件,直接执行 rabbitmq-server 即可,下面将 RabbitMQ 的安装位置以 . 代替,启动命令就是:

    ./usr/local/Cellar/rabbitmq/3.6.6/sbin/rabbitmq-server

    启动正常的话会看到一些启动过程信息和最后的 completed with 10 plugins,这也说明启动的时候默认加载了10个插件。

    后台启动

    如果想让 RabbitMQ 以守护程序的方式在后台运行,可以在启动的时候加上 -detached 参数:

    ./usr/local/Cellar/rabbitmq/3.6.6/sbin/rabbitmq-server -detached

    查询服务器状态

    sbin 目录下有个特别重要的文件叫 rabbitmqctl ,它提供了 RabbitMQ 管理需要的几乎一站式解决方案,绝大部分的运维命令它都可以提供。

    查询 RabbitMQ 服务器的状态信息可以用参数 status :

    ./usr/local/Cellar/rabbitmq/3.6.6/sbin/rabbitmqctl status

    该命令将输出服务器的很多信息,比如 RabbitMQ 和 Erlang 的版本、OS 名称、内存等等

    通过网页管理查看服服务

    通过命令行开启web管理服务

    >rabbitmq-plugins enable rabbitmq_management

    网页管理界面

    http://localhost:15672/ 默认登录名和密码都是 guest

    命令行添加新用户并允许远程访问

    1)使用rabbitctl添加用户

    >rabbitmqctl add_user mq 123456

    2)为用户添加角色

    >rabbitmqctl set_user_tags mq administrator

    3)设置用户权限

    >rabbitmqctl set_permissions -p "/" mq ".*" ".*" ".*"

    4)查看vhost(/)允许哪些用户访问

    >rabbitmqctl list_permissions -p /

    Listing permissions for vhost "/" ...

    user configure write read

    guest .* .* .*

    mq .* .* .*

    5)配置允许远程访问的用户,rabbitmq的guest用户默认不允许远程主机访问。

    >cat /etc/rabbitmq/rabbitmq.config

    [                                                                                                                                  

    {rabbit, [{tcp_listeners, [5672]}, {loopback_users, ["mq"]}]}

    ].

    关闭 RabbitMQ 节点

    我们知道 RabbitMQ 是用 Erlang 语言写的,在Erlang 中有两个概念:节点和应用程序。节点就是 Erlang 虚拟机的每个实例,而多个 Erlang 应用程序可以运行在同一个节点之上。节点之间可以进行本地通信(不管他们是不是运行在同一台服务器之上)。比如一个运行在节点A上的应用程序可以调用节点B上应用程序的方法,就好像调用本地函数一样。如果应用程序由于某些原因奔溃,Erlang 节点会自动尝试重启应用程序。

    如果要关闭整个 RabbitMQ 节点可以用参数 stop :

    ./usr/local/Cellar/rabbitmq/3.6.6/sbin/rabbitmqctl stop

    它会和本地节点通信并指示其干净的关闭,也可以指定关闭不同的节点,包括远程节点,只需要传入参数 -n :

    ./usr/local/Cellar/rabbitmq/3.6.6/sbin/rabbitmqctl -n rabbit@server.example.com stop

    -n node 默认 node 名称是 rabbit@server ,如果你的主机名是server.example.com,那么 node 名称就是rabbit@server.example.com

    关闭 RabbitMQ 应用程序

    如果只想关闭应用程序,同时保持 Erlang 节点运行则可以用 stop_app:

    ./usr/local/Cellar/rabbitmq/3.6.6/sbin/rabbitmqctl stop_app

    这个命令在后面要讲的集群模式中将会很有用。

    启动 RabbitMQ 应用程序

    ./usr/local/Cellar/rabbitmq/3.6.6/sbin/rabbitmqctl start_app

    重置 RabbitMQ 节点

    ./usr/local/Cellar/rabbitmq/3.6.6/sbin/rabbitmqctl reset

    该命令将清除所有的队列。

    查看已声明的队列

    ./usr/local/Cellar/rabbitmq/3.6.6/sbin/rabbitmqctl list_queues

    查看交换器

    ./usr/local/Cellar/rabbitmq/3.6.6/sbin/rabbitmqctl list_exchanges

    该命令还可以附加参数,比如列出交换器的名称、类型、是否持久化、是否自动删除:

    ./usr/local/Cellar/rabbitmq/3.6.6/sbin/rabbitmqctl list_exchanges nametypedurable auto_delete

    查看绑定

    ./usr/local/Cellar/rabbitmq/3.6.6/sbin/rabbitmqctl list_bindings

    相关文章

      网友评论

        本文标题:(三)RabbitMQ 安装

        本文链接:https://www.haomeiwen.com/subject/uzrfzxtx.html