1、查看系统的版本,从而选择相应的RabbitMQ版本。
可以使用命令lsb_release -a查询centos版本
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zKSzGQf4-1651297492558)(http://wiki.corp.vipshop.com/download/attachments/495329479/centos7.png?version=1&modificationDate=1528116649638&api=v2)]
如果报错lsb_release 命令无法使用则先使用yum install lsb
登陆RabbitMQ官网http://www.rabbitmq.com/install-rpm.html#install-from-esl-repository根据相应系统版本选择需要的版本
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OTHnoxUX-1651297492559)(http://wiki.corp.vipshop.com/download/attachments/495329479/RabbitMQ.png?version=1&modificationDate=1528116773557&api=v2)]
我使用的系统版本是CentOS Linux release 7.2.1511 (Core) 所以我选择下载链接为https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.5/rabbitmq-server-3.7.5-1.el7.noarch.rpm这个版本。
2、使用wget命令将安装包下载到服务器本地一个文件夹中
完整命令 wgethttps://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.5/rabbitmq-server-3.7.5-1.el7.noarch.rpm
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yvj88T75-1651297492560)(http://wiki.corp.vipshop.com/download/attachments/495329479/wget.png?version=1&modificationDate=1528117038351&api=v2)]
3、在以往安装RabbitMQ之前都得先安装erlang,但是现在可以直接使用命令yum -y install rabbitmq-server-3.7.5-1.el7.noarch.rpm 安装RabbitMQ,安装过程中会自动安装相应的erlang依赖版本程序。但此前需要先更新一下erlang的安装源,默认的安装源版本太低。可以直接写成一句命令,如下:
wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm&&yum -y install epel-release&&rpm -Uvh erlang-solutions-1.0-1.noarch.rpm&&yum -y install rabbitmq-server-3.7.5-1.el7.noarch.rpm
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OQ6xekor-1651297492561)(http://wiki.corp.vipshop.com/download/attachments/495329479/yum.png?version=1&modificationDate=1528117298008&api=v2)]
4、RabbitMQ默认安装后不是使用后台守护进程启动,也不是随系统启动的,需要用root的权限执行sudo chkconfig rabbitmq-server on 将其修改为后台守护进程启动并且随系统启动而启动
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0pay1z0r-1651297492562)(http://wiki.corp.vipshop.com/download/attachments/495329479/on.png?version=1&modificationDate=1528117475249&api=v2)]
5、运行RabbitMQ需要首先开放15672和5672端口【Centos升级到7之后,发现无法使用iptables控制Linuxs的端口,Centos 7使用firewall-cmd代替了原来的iptables】
(1)先启动防火墙systemctl start firewalld,查看防火墙启动状态systemctl status firewalld
(2)开放给外部访问15672端口firewall-cmd --zone=public --add-port=15672/tcp --permanent 然后执行firewall-cmd --reload
PS:如果也需要开放5672端口给外部应用使用 则需要 执行firewall-cmd --zone=public --add-port=5672/tcp --permanent 开启端口
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vTekxZOi-1651297492563)(http://wiki.corp.vipshop.com/download/attachments/495329479/Firewalls.png?version=1&modificationDate=1528117912593&api=v2)]
6、启动RabbitMQ服务sudo /sbin/service rabbitmq-server start
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1IswIDGX-1651297492564)(http://wiki.corp.vipshop.com/download/attachments/495329479/start.png?version=1&modificationDate=1528118204331&api=v2)]
可以使用命令rabbitmqctl status查看服务启动状态
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3A3PwKBL-1651297492565)(http://wiki.corp.vipshop.com/download/attachments/495329479/status.png?version=1&modificationDate=1528118316217&api=v2)]
7、启动插件功能sudo /sbin/rabbitmq-pluginsenablerabbitmq_management ,只有启动了插件管理功能才可以通过web管理页面管理RabbitMQ
8、可以使用命令rabbitmqctl list_users查询安装默认的用户,有一个guest 用户,一个administrator管理员用户。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QUvdAe7p-1651297492566)(http://wiki.corp.vipshop.com/download/attachments/495329479/list_user.png?version=1&modificationDate=1528119117728&api=v2)]
但是guest用户只可以在本机通过localhost的方式访问,如果要通过别的机器登陆web访问就得新加一个用户并且授权。新加一个用户可以使用命令rabbitmqctl add_user admin StrongPassword(其中admin 是用户名,StrongPassword是密码)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N9K9MB6H-1651297492567)(http://wiki.corp.vipshop.com/download/attachments/495329479/add_user.png?version=1&modificationDate=1528119117699&api=v2)]
通过命令给用户增加角色权限rabbitmqctl set_user_tags qredb administrator
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3umpeG4O-1651297492568)(http://wiki.corp.vipshop.com/download/attachments/495329479/tags.png?version=1&modificationDate=1528119117635&api=v2)]
通过命令给用户增加所有访问权限rabbitmqctl set_permissions -p “/” qredb ‘.*’ ‘.*’ ‘.*’
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RqOCNUad-1651297492569)(http://wiki.corp.vipshop.com/download/attachments/495329479/permissions.png?version=1&modificationDate=1528119117670&api=v2)]
到此就可以通过http://:15672/访问RabbitMQ了。
9、一些简单的管理命令
(1) 新增一个用户 rabbitmqctl add_user Username Password
(2) 删除一个用户 rabbitmqctl delete_user Username
(3) 修改用户的密码 rabbitmqctl change_password Username Newpassword
(4) 查看当前用户列表 rabbitmqctl list_users
10、CentOS 7 防火墙配置命令参考
https://www.cnblogs.com/moxiaoan/p/5683743.html
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/sec-using_firewalls
)



