CentOS 7 安装 RabbitMQ(亲测) 有更新!

  aluaa

1.准备基础编译环境

yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto

2.下载安装包rabbitmq-server-3.7.5-1.el7.noarch.rpm和otp_src_19.3.tar.gz

Erlang下载地址: http://erlang.org/download/  (注意版本号:http://www.rabbitmq.com/which-erlang.html)
rabbitmq下载地址: http://www.rabbitmq.com/install-rpm.html 
         (rabbitmq-server-3.7.5-1.el7.noarch.rpm要对应19的版本)

3.传入文件到~/soft/下

4.解压 otp_src_19.3.tar.gz

tar -xvf otp_src_19.3.tar.gz
mkdir /usr/local/erlang
cd otp_src_19.3
./configure --prefix=/usr/local/erlang --without-javac

可能会出现下面错误:

configure: error: Perl is required to generate v2 to v1 mib converter script
configure: error: /bin/sh ‘/opt/otp_src_19.3/lib/snmp/./configure’ failed for snmp/.
configure: error: /bin/sh ‘/opt/otp_src_19.3/lib/configure’ failed for lib

如上,提示错误,解决方法:安装Perl

yum install perl

接着配置从新配置erlang

 ./configure --prefix=/usr/local/erlang --without-javac
make && make install

5.编译&安装完成以后配置Erlang环境变量

追加环境变量到文件末尾

vim /etc/profile
ERL_HOME=/usr/local/erlang
PATH=$ERL_HOME/bin:$PATH
export ERL_HOME PATH

执行语句

source /etc/profile

6.检查Erlang是否配置成功

whereis erlang
erl

7.正式安装RabbitMQ

cd ..
rpm -ivh --nodeps rabbitmq-server-3.7.5-1.el7.noarch.rpm

8.运行RabbitMQ需要首先开放15672和5672端口

firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --reload

9.RabbitMQ已经安装完成

rabbitmq-plugins enable rabbitmq_management
rabbitmq-server

可能会遇到Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces(这是因为没有权限的问题)
执行语句:chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie

然后重启成功

10.访问路径http://<虚拟机IP>:15672/

11.接下来我们需要为RabbitMQ创建用户并赋权

 rabbitmqctl add_user root root
 rabbitmqctl set_user_tags root administrator
 rabbitmqctl set_permissions -p / root '.*' '.*' '.*'

12.后台启动

rabbitmq-server -detached

启动&重启&停止命令:

rabbitmqctl list_queues #查看Exchange和Exchange上绑定的Queue信息。
rabbitmqctl status #查看运行信息
rabbitmqctl stop #停止运行rabbitmq

service rabbitmq-server  stop
service rabbitmq-server start
service rabbitmq-server restart

13、Rabbitmq其他命令

# 添加用户
sudo rabbitmqctl add_user <username> <password>  

# 删除用户
sudo rabbitmqctl delete_user <username>  

# 修改用户密码
sudo rabbitmqctl change_password <username> <newpassword>  

# 清除用户密码(该用户将不能使用密码登陆,但是可以通过SASL登陆如果配置了SASL认证)
sudo rabbitmqctl clear_password <username> 

# 设置用户tags(相当于角色,包含administrator,monitoring,policymaker,management)
sudo rabbitmqctl set_user_tags <username> <tag>

# 列出所有用户
sudo rabbitmqctl list_users  

# 创建一个vhosts
sudo rabbitmqctl add_vhost <vhostpath>  

# 删除一个vhosts
sudo rabbitmqctl delete_vhost <vhostpath>  

# 列出vhosts
sudo rabbitmqctl list_vhosts [<vhostinfoitem> ...]  

# 针对一个vhosts给用户赋予相关权限;
sudo rabbitmqctl set_permissions [-p <vhostpath>] <user> <conf> <write> <read>  

# 清除一个用户对vhosts的权限;
sudo rabbitmqctl clear_permissions [-p <vhostpath>] <username>  

# 列出哪些用户可以访问该vhosts;
sudo rabbitmqctl list_permissions [-p <vhostpath>]   

# 列出用户访问权限;
sudo rabbitmqctl list_user_permissions <username>