CentOS7 安装rabbitmq

参考:原文链接:https://blog.csdn.net/JingleYe/article/details/141959978

 

 

第一步、安装任何软件包之前,建议使用以下命令更新软件包和存储库

yum -y update


第二步、Erlang在默认的YUM存储库中不可用,因此您将需要安装EPEL存储库

yum -y install epel-release
yum -y update

 

第三步,安装erlang

可以查看下RabbitMQ和Erlang/OTP兼容的对应表:点这里

我们打算安装rabbitmq 3.6.16版本,对应的Erlang 是20.3.x,这里我们下载20.3.8版本

# Have you installed this repository? If not, run this installation script command:
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash

sudo yum install erlang-20.3.8.26-1.el7.x86_64

# 输入如下指令可以判断是否成功安装erlang
erl -version

 

第四步,安装rabbitmq

下载

wget https://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq_v3_6_16/rabbitmq-server-3.6.16-1.el7.noarch.rpm

安装

rpm -ivh rabbitmq-server-3.6.16-1.el7.noarch.rpm
# 或者 rpm -Uvh rabbitmq-server-3.6.16-1.el7.noarch.rpm -U表升级

如果报错

这个错误信息表明在尝试安装RabbitMQ服务器时遇到了两个问题:

  1. 签名警告:这个警告表示RabbitMQ软件包的签名无法验证。这可能是由于缺少公钥来验证软件包的签名。

  2. 依赖错误:这个错误表示RabbitMQ安装需要socat这个软件包,但是你的系统上没有安装socat。

要解决这个问题,请按照以下步骤操作:

导入RabbitMQ的公钥:你可以使用以下命令来导入RabbitMQ的公钥:

rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc

这将允许你的系统验证RabbitMQ软件包的签名。

安装socat:你可以使用以下命令来安装socat

sudo yum install socat

安装完成以后,重新执行安装命令即可。

 

第五步、安装管理界面的插件(没有这个插件无法启动管理界面)

# 开启管理界面
rabbitmq-plugins enable rabbitmq_management

 


第六步、开放5672和15672端口(这一步不需要,可以通过ECS开安全组)

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

如果放火墙没有启动 FirewallD is not running,记得启动防火墙 

# 查看状态
sudo systemctl status firewalld

# 启动防火墙
sudo systemctl start firewalld

# 开机自启动防火墙
sudo systemctl enable firewalld

 

第七步、启动RabbitMQ服务

systemctl start rabbitmq-server #启动服务
systemctl status rabbitmq-server #查看服务状态
systemctl stop rabbitmq-server #停止服务
systemctl enable rabbitmq-server #开启启动服务

 

第十步、默认的账号密码仅限于本机 localhost 进行访问,所以需要添加一个远程登录的用户

# 创建账号和密码
rabbitmqctl add_user 用户名 密码

# 设置用户角色:administrator
rabbitmqctl set_user_tags 用户名 角色

# 为用户添加资源权限,添加配置、写、读权限
rabbitmqctl set_permissions -p "/" 用户名 ".*" ".*" ".*"

#修改用户密码
rabbitmqctl change_password 用户名 新密码

 

来看下示例:

# 假设您要创建一个名为 user1 的用户,密码为 password123
rabbitmqctl add_user user1 password123

# 假设您希望将 user1 设置为 administrator 角色
rabbitmqctl set_user_tags user1 administrator

# 在 RabbitMQ 中,您可以为用户指定对特定虚拟主机(vhost)的权限。默认情况下,RabbitMQ 使用名为 / 的虚拟主机。
# 以下命令为 user1 在 / 虚拟主机上添加配置(configure)、写(write)和读(read)权限,允许该用户对该虚拟主机下的所有资源具有完全访问权限:
rabbitmqctl set_permissions -p "/" user1 ".*" ".*" ".*"
# 这里的 ".*" 是一个正则表达式,表示匹配所有队列、交换机和绑定。

# 如果您需要修改 user1 的密码为 newpassword123,您可以使用以下命令
rabbitmqctl change_password user1 newpassword123

 

ps: 如果远程登录不上,看看端口是否真的被打开了,云服务器可能要上工作台去开放。

 

posted @ 2024-11-19 17:47  r1-12king  阅读(47)  评论(0编辑  收藏  举报