ubuntu 下rabbitMQ安装及配置远程访问web管理界面

#1 更新

apt-get update
apt-get upgrade

#2 安装Erlang

wget http://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc
apt-key add erlang_solutions.asc
apt-get update
apt-get install erlang
apt-get install erlang-nox

#3 安装RabbitMQ(apt安装)

添加RabbitMQ仓库源:

vim /etc/apt/sources.list

在文件中添加一行:

deb http://www.rabbitmq.com/debian/ testing main

添加密钥:

wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
apt-key add rabbitmq-signing-key-public.asc

安装rabbitmq-server:

apt-get update

apt-get install rabbitmq-server

 

deb文件安装

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.9/rabbitmq-server_3.6.9-1_all.deb

dpkg -i rabbitmq-server_3.6.9-1_all.deb

启动RabbitMQ服务:

service rabbitmq-server restart

#4 RabbitMQ web管理接口

启用rabbitmq-management插件:

1

$sudo rabbitmq-plugins enable rabbitmq_management

重启RabbitMQ:

service rabbitmq-server restart

使用浏览器访问 http://127.0.0.1:15672,使用默认的guest/guest用户登录:

在3.3.1和之后的版本中,出于安全的考虑,guest这个默认的用户只能通过http://localhost:15672 来登录,其他的IP无法直接使用这个账号。 这对于服务器上没有安装桌面的情况是无法管理维护的,除非通过在前面添加一层代理向外提供服务,这个又有些麻烦了,这里通过配置文件来实现这个功能

只要编辑 /etc/rabbitmq/rabbitmq.config 文件,添加以下配置就可以了。

[
{rabbit, [{tcp_listeners, [5672]}, {loopback_users, ["admin"]}]}
].

现在添加了一个新授权用户admin,可以通过外网使用这个用户名和密码访问.(记得要先用命令添加这个命令才行,  #rabbitmqctl  add_user admin admin)我是通过在管理平台里直接添加的用户和密码的,我的测试环境装有桌面的。

rabbitmqctl add_user admin admin

管理

Rabbitmq服务器的主要通过rabbitmqctl和rabbimq-plugins两个工具来管理,以下是一些常用功能。

1). 服务器启动与关闭

      启动: rabbitmq-server –detached

      关闭:rabbitmqctl stop

      若单机有多个实例,则在rabbitmqctlh后加–n 指定名称

2). 插件管理

      开启某个插件:rabbitmq-pluginsenable xxx

      关闭某个插件:rabbitmq-pluginsdisablexxx

      注意:重启服务器后生效。

3).virtual_host管理

      新建virtual_host: rabbitmqctladd_vhost  xxx

      撤销virtual_host:rabbitmqctl  delete_vhost xxx

4). 用户管理

      新建用户:rabbitmqctl add_user xxxpwd

      删除用户:   rabbitmqctl delete_user xxx

      改密码: rabbimqctlchange_password {username} {newpassword}

      设置用户角色:rabbitmqctlset_user_tags {username} {tag ...}

              Tag可以为 administrator,monitoring, management

5). 权限管理

      权限设置:set_permissions [-pvhostpath] {user} {conf} {write} {read}

               Vhostpath

               Vhost路径

               user

      用户名

              Conf

      一个正则表达式match哪些配置资源能够被该用户访问。

              Write

      一个正则表达式match哪些配置资源能够被该用户读。

               Read

      一个正则表达式match哪些配置资源能够被该用户访问。

6). 获取服务器状态信息

       服务器状态:rabbitmqctl status

       队列信息:rabbitmqctl list_queues[-p vhostpath] [queueinfoitem ...]

                Queueinfoitem可以为:name,durable,auto_delete,arguments,messages_ready,

                messages_unacknowledged,messages,consumers,memory

       Exchange信息:rabbitmqctllist_exchanges[-p vhostpath] [exchangeinfoitem ...]

                 Exchangeinfoitem有:name,type,durable,auto_delete,internal,arguments.

       Binding信息:rabbitmqctllist_bindings[-p vhostpath] [bindinginfoitem ...]       

                 Bindinginfoitem有:source_name,source_kind,destination_name,destination_kind,routing_key,arguments

       Connection信息:rabbitmqctllist_connections [connectioninfoitem ...]

       Connectioninfoitem有:recv_oct,recv_cnt,send_oct,send_cnt,send_pend等。

       Channel信息:rabbitmqctl  list_channels[channelinfoitem ...]

      Channelinfoitem有consumer_count,messages_unacknowledged,messages_uncommitted,acks_uncommitted,messages_unconfirmed,prefetch_count,client_flow_blocked

安装常见问题:

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

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

rabbitmq配置

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

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

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

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

rabbitmq-env.conf

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

文件的内容包括了RabbitMQ的一些环境变量,常用的有:

#RABBITMQ_NODE_PORT=    //端口号

#HOSTNAME=

RABBITMQ_NODENAME=mq

RABBITMQ_CONFIG_FILE=        //配置文件的路径

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

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

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

具体的列表见:http://www.rabbitmq.com/configure.html#define-environment-variables

rabbitmq.config

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

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

文件的内容详见:http://www.rabbitmq.com/configure.html#config-items

## 运行如下的命令,增加用户admin,密码 admin 
 

[root@localhost sbin]# ./rabbitmqctl  list_users 
Listing users ...
[root@localhost sbin]# ./rabbitmqctl add_user admin admin 
Creating user "admin" ...
[root@localhost sbin]#./rabbitmqctl set_user_tags admin administrator 
Setting tags for user "admin" to [administrator] ...
[root@localhost sbin]#./rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*" 
Setting permissions for user "admin" in vhost "/" ...
[root@localhost sbin]# ./rabbitmqctl list_users 
Listing users ...
admin    [administrator]
[root@localhost sbin]#

猜你喜欢

转载自blog.csdn.net/qq_29663071/article/details/81354421