rabbitmq的万能安装和外网访问(NC版)

先去这个http://www.rabbitmq.com/releases/下载erlang环境和rpm(erlang的尽量高点,rabbitmq版本差不多就可以了,)

erlang-19.0.4-1.el6.x86_64

rabbitmq-server-3.6.10-1.el6.noarch

注意centos6和centos7是不同的

要看他的版本el6还是el7

yum install  erlang-19.0.4-1.el6.x86_64

选择 y

然后安装

rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc

然后

yum install  rabbitmq-server-3.6.10-1.el6.noarch

启动rabbitmq

service rabbitmq-server start     或者    /etc/init.d/rabbitmq-server start

service rabbitmq-server stop

service rabbitmq-server restart

启用RabbitMQWeb管理插件

rabbitmq-plugins enable rabbitmq_management

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

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

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

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

1
#
rabbitmqctl add_user admin admin
1
2
3
4
#
rabbitmqctl list_users
Listingusers...
admin
guest
  [administrator]

Setting permissions for user "admin" in vhost "/" ...

1
#
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
1
2
3
4
#
rabbitmqctl list_permissions -p /
Listing
permissions
invhost"/"...
admin
.* .* .*
guest
.* .* .*

可以看到添加用户成功了,但不是administrator角色,这里我们也将asdf用户设置为administrator角色.

1
2
3
4
5
6
7
#
rabbitmqctl set_user_tags admin administrator
Setting
tags
foruser"admin"to
[administrator] ..
 
#
rabbitmqctl list_users
Listingusers...
admin
[administrator]
guest
[administrator]

在docker环境中配置rabbitmq时

rabbitmq的数据库名称规则是,NODENAME@hostname,docker每次从docker image启动容器的时候会自动生成hostname,这样一来,你保存在主机上的数据库就会没用了,包括之前创建的用户也会没有了。所以在创建容器的时候必须指定--hostname=rabbitmqhostone,这样docker环境启动后rabbitmq就会一直读取固定目录中的数据了

上一篇:NPOI excel文件解析


下一篇:i.MX 6Q开发环境配置