CentOS 7 安装 RabbitMQ

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Lg632/article/details/89675381

安装Erlang,由于RabbitMQ依赖Erlang, 所以需要先安装Erlang。

sudo yum install -y gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf java-1.8.0-openjdk-devel git

创建yum源 参考:(https://github.com/rabbitmq/erlang-rpm)

sudo 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

安装

sudo yum install -y erlang

进入erlang命令行表示成功

erl

退出erlang命令行

halt().

安装 socat  ( socat 是一个实用的命令行工具)

yum install -y socat

RabbitMQ 安装

sudo rpm -Uvh https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.4/rabbitmq-server-3.7.4-1.el7.noarch.rpm

systemctl 操作 RabbitMQ服务

systemctl start rabbitmq-server
systemctl status rabbitmq-server
systemctl restart rabbitmq-server
#设置为开机启动
systemctl enable rabbitmq-server

开放端口

#增加rabbitMQ端口:5672
sudo firewall-cmd --add-port=5672/tcp --permanent
#重新加载防火墙设置
sudo firewall-cmd --reload

添加管理配置插件

#安装web管理页面插件(先启动rabbitmq服务):
rabbitmq-plugins enable rabbitmq_management
#开放端口
sudo firewall-cmd --add-port=15672/tcp --permanent
#重新加载防火墙配置
sudo firewall-cmd --reload

Rabbit配置

创建用户并设置角色:

# 可以创建管理员用户,负责整个MQ的运维:
    $sudo rabbitmqctl add_user  user_admin  passwd_admin
# 赋予其administrator角色:
    $sudo rabbitmqctl set_user_tags user_admin administrator

# 可以创建RabbitMQ监控用户,负责整个MQ的监控,例如:
    $sudo rabbitmqctl add_user  user_monitoring  passwd_monitor
# 赋予其monitoring角色:
    $sudo rabbitmqctl set_user_tags user_monitoring monitoring

# 可以创建某个项目的专用用户,只能访问项目自己的virtual hosts
    $sudo rabbitmqctl  add_user  user_proj  passwd_proj
# 赋予其monitoring角色:
    $sudo rabbitmqctl set_user_tags user_proj management

# 创建和赋角色完成后查看并确认:
    $sudo rabbitmqctl list_users

# tag(administrator,monitoring,policymaker,management)
# 设置用户权限(接受来自所有Host的所有操作)
    sudo rabbitmqctl  set_permissions -p "/" user_admin '.*' '.*' '.*'  
# 查看用户权限
    sudo rabbitmqctl list_user_permissions user_admin

配置远程访问

#修改配置文件
sudo vi /etc/rabbitmq/rabbitmq.config 
#保存以下内容
[
{rabbit, [{tcp_listeners, [5672]}, {loopback_users, ["admin"]}]}
].

备注

1、RabbitMQ常用命令

service rabbitmq-server   start
service rabbitmq-server   stop
service rabbitmq-server   status
service rabbitmq-server   rotate-logs|
service rabbitmq-server   restart
service rabbitmq-server   condrestart
service rabbitmq-server   try-restart
service rabbitmq-server   reload
service rabbitmq-server   force-reload

# 查看rabbitMq进程
ps -ef | grep rabbitmq

kill -9 pid

# 默认监听端口 15672 / 5672
netstat -anplt | grep LISTEN  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>

参考:

2、本文参考

https://www.rabbitmq.com/download.html

https://github.com/judasn/Linux-Tutorial/blob/master/RabbitMQ-Install-And-Settings.md

http://blog.csdn.net/zyz511919766/article/details/42292655

https://blog.csdn.net/liang_henry/article/details/79584843  

猜你喜欢

转载自blog.csdn.net/Lg632/article/details/89675381