CentOS7一键安装Rabbitmq

本文详细介绍了如何在CentOS 7上安装Erlang,使用socat,通过yum安装RabbitMQ,配置用户管理、日志处理和常见问题解决方案。脚本提供了自动化部署过程,包括安装、防火墙配置和管理用户设置。
摘要由CSDN通过智能技术生成

1. 官网

https://www.rabbitmq.com/

2. erlang与rabbitmq版本对应关系

官方网址:https://www.rabbitmq.com/which-erlang.html
在这里插入图片描述

3.rpm安装erlang

#安装epel
$ yum install -y epel-release
#添加存储库条目,可以访问https://www.erlang-solutions.com/downloads/查看官方教程
$ wget https://packages.erlang-solutions.com/erlang-solutions-2.0-1.noarch.rpm
$ rpm -Uvh erlang-solutions-2.0-1.noarch.rpm
#查看原件仓库的erlang版本
$ yum list erlang
#安装erlang
$ yum install -y erlang
#验证是否安装成功
$ erl -version
#查看安装的版本
$ rpm -aq | grep erlang

4. 安装socat

$ yum install -y socat

5. 安装rabbitmq

#下载rabbitmq的rpm包
$ wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.4/rabbitmq-server-3.9.4-1.el7.noarch.rpm
$ rpm -ivh rabbitmq-server-3.9.4-1.el7.noarch.rpm

6.rabbitmq常用命令

#开启rabbitmq服务
$ rabbitmq-server -detached
#查看服务状态
$ rabbitmqctl status
$ systemctl status rabbitmq-server
#开启rabbitmq
$ rabbitmqctl start_app
$ systemctl start rabbitmq-server
#重启
$ rabbitmqctl restart_vhost
Trying to restart vhost '/' on node 'rabbit@maxwell' ...
Vhost '/' is already running on node 'rabbit@maxwell'
$ systemctl status rabbitmq-server
#关闭
$ 
#开启管理插件,访问地址:http://ip:15672,注意防火墙放行端口
$ rabbitmq-plugins enable rabbitmq_management
#查看插件集合
$ rabbitmq-plugins list

7. 用户管理

# 查看所有用户
rabbitmqctl list_users
 
# 配置权限
rabbitmqctl set_permissions -p "/" <username> ".*" ".*" ".*"
 
# 查看用户权限
rabbitmqctl list_user_permissions <username>

# 添加一个用户
rabbitmqctl add_user <username> <password>

# 删除用户(安全起见,删除默认用户)
rabbitmqctl delete_user <username>

# 改变密码
rabbitmqctl change_password <username> <newpassword>

# 清除密码
rabbitmqctl clear_password <username>

#授权用户
rabbitmqctl authenticate_user <username> <password>

# 设置tag,比如administrator
rabbitmqctl set_user_tags <username> <tag> ...

8. 日志

在安装的时候,每个人会遇到每个人不同的问题,有没有通用的方法解决所有的问题?
多查日志,分析,定位问题,解决问题。

$ journalctl -xe
$ systemctl status rabbitmq-server.service
# 默认日志位置:/var/log/rabbitmq/rabbit@prometheus.log 

9.我安装时候遇到的坑

问题描述:根据日志显示,主机名连接超时
原因:我把/etc/hosts文件修改了,ip 主机名 域名没有对应对,导致ping主机名一直平不通,最终也导致rabbimq启动不了,
解决办法:修改/etc/hosts文件,根据自己的ip addr,改成对的配置。

10. 一键脚本

功能:安装rabbitmq,放开firewall对应端口:5672,15672,25672,设置管理用户Maxwell,密码123456,启动rabbitmq进程。http://ip:15672

#!/bin/bash
blue(){
    echo -e "\033[34m\033[01m$1\033[0m"
}
green(){
    echo -e "\033[32m\033[01m$1\033[0m"
}
red(){
    echo -e "\033[31m\033[01m$1\033[0m"
}
clear
green "=========================================================="
 blue "支持:centos7+"
 blue "网站:https://blog.csdn.net/qq_40016729/article/details/119823995 "
 blue "作者:\033[5mMaxwell\033[0m "
green "=========================================================="
  red "简介:本脚本为Rabbitmq安装,转载请注明出处!"
green "=========================================================="
read -s -n1 -p "若同意上述协议,请按任意键继续 ... "
echo

set -x
#安装erlang
yum install -y epel-release
wget https://packages.erlang-solutions.com/erlang-solutions-2.0-1.noarch.rpm
rpm -Uvh erlang-solutions-2.0-1.noarch.rpm
yum install -y erlang
yum install -y socat

#firewall放行对应端口:5672,15672,25672
firewall-cmd --permanent --add-port=5672/tcp
firewall-cmd --permanent --add-port=15672/tcp
firewall-cmd --permanent --add-port=25672/tcp
#移除端口
#firewall-cmd --permanent --remove-port=8080/tcp
#查看端口
#firewall-cmd --list-all 
firewall-cmd --reload

#安装rabbitmq
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.4/rabbitmq-server-3.9.4-1.el7.noarch.rpm
rpm -ivh rabbitmq-server-3.9.4-1.el7.noarch.rpm

#启动rabbitmq
systemctl start rabbitmq-server
systemctl status rabbitmq-server

#开启管理插件
rabbitmq-plugins enable rabbitmq_management

#添加用户Maxwell,密码123456
rabbitmqctl add_user Maxwell 123456
rabbitmqctl set_user_tags Maxwell administrator
rabbitmqctl set_permissions -p "/" Maxwell ".*" ".*" ".*"
#删除guest用户
rabbitmqctl delete_user guest

#重启rabbitmq
systemctl restart rabbitmq-server

#清除rpm文件
rm -f rabbitmq-server-3.9.4-1.el7.noarch.rpm erlang-solutions-2.0-1.noarch.rpm

#查看rabbitmq状态
rabbitmqctl status

set +x
#取出ip放这
IP=`ip addr | grep inet | egrep 'ens|eth0' | awk '{print $2}' | sed 's/...$//'`
green "URL:http://${IP}:15672"
green "Rabbitmq后台管理,用户:\033[5mMaxwell\033[0m\033[32m\033[01m,密码:123456\033[0m"

脚本运行结果
在这里插入图片描述

10. 祝你学习成长愉快

talk less,do more!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值