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!