参考以下链接:
http://blog.csdn.net/mlks_2008/article/details/18988301
http://blog.haohtml.com/archives/15249
http://my.oschina.net/jianglibo/blog/323395
rpm -Uvh http://mirrors.neusoft.edu.cn/epel/6/i386/epel-release-6-8.noarch.rpm
首先安装erlang
yum install erlang
rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.7/rabbitmq-server-3.5.7-1.noarch.rpm yum install rabbitmq-server-3.6.1-1.noarch.rpm
rabbitmq-plugins enable rabbitmq_management
/etc/init.d/rabbitmq-server start 或 service rabbitmq-service start
在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)我是通过在管理平台里直接添加的用户和密码的,我的测试环境装有桌面的。
1
|
# rabbitmqctl add_user admin admin
|
1
2
3
4
|
# rabbitmqctl list_users
Listing
users
...
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
in
vhost
"/"
...
admin .* .* .*
guest .* .* .*
|
可以看到添加用户成功了,但不是administrator角色,这里我们也将asdf用户设置为administrator角色.
1
2
3
4
5
6
7
|
# rabbitmqctl set_user_tags admin administrator
Setting tags
for
user
"admin"
to [administrator] ..
# rabbitmqctl list_users
Listing
users
...
admin [administrator]
guest [administrator]
|
rabbitmq的数据库名称规则是,NODENAME@hostname,docker每次从docker image启动容器的时候会自动生成hostname,这样一来,你保存在主机上的数据库就会没用了,包括之前创建的用户也会没有了。所以在创建容器的时候必须指定--hostname=rabbitmqhostone,这样docker环境启动后rabbitmq就会一直读取固定目录中的数据了