全文验证无误20180912
一、安装Erlang(RabbitMQ由Erlang语言开发)
1、使用此命令查询出erlang在Linux系统中是否安装
yum list | grep erlang
2、如果安装了低版本,卸载低版本19.0.4(rabbitmq3.7最少要19.3以上版本的,不然启动失败)
yum remove erlang.x86_64
3、安装
安装法一:
1)下载rpm安装包
官方地址:http://www.erlang.org/downloads
wget --content-disposition https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-20.3-1.el7.centos.x86_64.rpm/download.rpm2)安装Erlang
yum install erlang-20.3-1.el7.centos.x86_64.rpm3)检查Erlang是否安装成功
[root@localhost ~]# erl -version
Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 9.3
这里用第二种方法安装(腾讯云上这个会失败,所以用法一)
引自https://github.com/rabbitmq/erlang-rpm
# vi /etc/yum.repos.d/rabbitmq-erlang.repo 编辑下面的文本
[rabbitmq-erlang] name=rabbitmq-erlang baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/7 gpgcheck=1 gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc repo_gpgcheck=0 enabled=1
安装命令
# yum install -y erlang验证
erl -version
二、安装Rabbit
1、获取Rabbit
wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.4/rabbitmq-server-3.7.4-1.el7.noarch.rpm
2、安装
yum install -y rabbitmq-server-3.7.4-1.el7.noarch.rpm
3、状态查看
#rabbitmqctl status
如果这里会出现“Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces”错误,运行下面的命令即可:
chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
4、重启RabbitMQ服务
#service rabbitmq-server restart
5、添加帐号:name 密码:passwd
#rabbitmqctl add_user name passwd
6、赋予其administrator角色
#rabbitmqctl set_user_tags name administrator
7、设置权限
#rabbitmqctl set_permissions -p / name ".*" ".*" ".*"
三、RabbitMQ管理
1、服务管理
查看RabbitMQ服务状态:service rabbitmq-server status
启动RabbitMQ服务:service rabbitmq-server start
重启RabbitMQ服务:service rabbitmq-server restart
停止RabbitMQ服务:service rabbitmq-server stop
设置开机启动:systemctl enable rabbitmq-server.service
停止开机启动:systemctl disable rabbitmq-server.service
2、用户管理
1)、查看用户列表
[root@localhost ~]# rabbitmqctl list_users
Listing users …
guest [administrator]
2)、添加用户
rabbitmqctl add_user 用户名 密码
[root@localhost ~]# rabbitmqctl add_user admin 123456
Adding user “admin” …
3)、删除用户
rabbitmqctl delete_user 用户名
[root@localhost ~]# rabbitmqctl delete_user admin
Deleting user “admin” …
4)、修改用户密码
rabbitmqctl change_password 用户名 新密码
[root@localhost ~]# rabbitmqctl change_password admin 666666
Changing password for user “admin” …
3、角色管理
1)、角色说明
none(普通用户)
没有控制台操作权限。management(普通管理员)
可以查看当前用户的queues, exchanges和bindings。
可以查看和关闭当前用户的channels和connections。
可以查看当前用户的virtual hosts的统计信息。policymaker(策略管理员)
具有management权限及查看、创建和删除当前用户的policies和parameters。monitoring(监控管理员)
具有management权限
查看所有virtual hosts及全局的统计信息
查看所有用户的connections和channels
查看所有节点数据,如clustering和memory使用情况administrator(超级管理员)
具有policymaker、monitoring权限
查看、创建、删除所有virtual hosts
查看、创建、删除所有users
查看、创建、删除所有permissions
可以关闭所有用户的connections
2)、查看用户角色
rabbitmqctl list_users 用户名
[root@localhost ~]# rabbitmqctl list_users
Listing users …
admin [administrator]
guest [administrator]
3)、设置用户角色
rabbitmqctl set_user_tags admin 角色名称(支持同时设置多个角色)
[root@localhost ~]# rabbitmqctl set_user_tags admin administrator
Setting tags for user “admin” to [administrator] …
4、权限管理
用户权限是指用户对exchange,queue的操作权限,包括配置权限,读写权限。配置权限会影响到exchange,queue的声明和删除。读写权限会影响到queue的读写消息、exchange发送消息以及queue和exchange的绑定操作。
1)、查看用户权限
rabbitmqctl list_user_permissions 用户名
[root@localhost ~]# rabbitmqctl list_user_permissions guest
Listing permissions for user “guest” …
/ .* .* .*
2)、设置用户权限
rabbitmqctl set_permissions -p 虚拟主机名称 用户名
[root@localhost ~]# rabbitmqctl set_permissions -p / admin ‘.’ '.’ ‘.*’
Setting permissions for user “admin” in vhost “/” …
5、web后台管理
启用后台管理插件:#rabbitmq-plugins enable rabbitmq_management
登录
浏览器输入:http://服务器IP:15672/
四、远程访问
1、本机
访问http://127.0.0.1:15672进入web界面。用户名和密码皆是 guest
2、
外网
先放开防火墙端口15672,然后就能够访问http://ip:15672进入web管理页面了(外部访问别忘记修改防火墙)。用户名密码就是第2.8中配置的
3、外部程序访问
必须要放开防火墙端口5672,用第2.5的用户名密码即可