首页 » 技术 » 分布式 » 正文

centos7.5 安装rabbitmq 3.8.2 和 rabbitmq_delayed_message_exchange

前置条件

由于rabbitmq需要erlang环境,在安装前,先要安装好erlang,才能安装rabbitmq,然后下载插件,最后enable插件。

1、安装erlang

1.1 、安装erlang的依赖

yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel

1.2、下载erlang rpm包

wget https://packages.erlang-solutions.com/erlang/rpm/centos/7/x86_64/esl-erlang_22.1.8-1~centos~7_amd64.rpm

1.3、 安装

yum install esl-erlang_22.1.8-1~centos~7_amd64.rpm

1.4、验证安装

erl
1+1.
halt().

 

2、安装rabbitmq

2.1、下载和安装

wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.2/rabbitmq-server-3.8.2-1.el7.noarch.rpm
rpm –import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
yum install rabbitmq-server-3.8.2-1.el7.noarch.rpm

如果出现错误Error unpacking rpm package rabbitmq-server-3.8.2-1.el7.noarch。请重新下载rabbitmq-server-3.8.2-1.el7.noarch.rpm

2.2、设置开启自动启动和启动

chkconfig rabbitmq-server on
systemctl start rabbitmq-server
rabbitmqctl status

2.3、开启web管理界面

rabbitmq-plugins enable rabbitmq_management

2.4、开放外部端口

5672和15672端口, 15672为web 管理端口

 

3、添加用户和外网访问

rabbitmqctl add_user admin abc124
rabbitmqctl set_user_tags admin administrator

rabbitmqctl set_permissions -p “/” admin ‘.*’ ‘.*’ ‘.*’
rabbitmqctl list_user_permissions admin

 

4、安装delay插件(默认目录)

wget https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/download/v3.8.0/rabbitmq_delayed_message_exchange-3.8.0.ez

cp rabbitmq_delayed_message_exchange-3.8.0.ez /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.2/plugins/

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

 

附:rabbitmq常见命令,非root用户请使用sudo

# 添加用户
rabbitmqctl add_user <username> <password>
# 删除用户
rabbitmqctl delete_user <username>
# 修改用户密码
rabbitmqctl change_password <username> <newpassword>
# 清除用户密码(该用户将不能使用密码登陆,但是可以通过SASL登陆如果配置了SASL认证)
rabbitmqctl clear_password <username>
# 设置用户tags(相当于角色,包含administrator,monitoring,policymaker,management)
rabbitmqctl set_user_tags <username> <tag>
# 列出所有用户
rabbitmqctl list_users
# 创建一个vhosts
rabbitmqctl add_vhost <vhostpath>
# 删除一个vhosts
rabbitmqctl delete_vhost <vhostpath>
# 列出vhosts
rabbitmqctl list_vhosts [<vhostinfoitem> …]
# 针对一个vhosts给用户赋予相关权限;
rabbitmqctl set_permissions [-p <vhostpath>] <user> <conf> <write> <read>
# 清除一个用户对vhosts的权限;
rabbitmqctl clear_permissions [-p <vhostpath>] <username>
# 列出哪些用户可以访问该vhosts;
rabbitmqctl list_permissions [-p <vhostpath>]
# 列出用户访问权限;
rabbitmqctl list_user_permissions <username>

 

参考:

https://www.rabbitmq.com/install-rpm.html#package-cloud

https://www.rabbitmq.com/install-rpm.html#install-erlang

https://www.rabbitmq.com/installing-plugins.html

发表评论