-
准备好服务器,本教程使用安装在虚拟机上的centos7
-
根据服务器本版,如centos7确定系统支持的rabbitmq及erlang版本
RabbitMQ是采用 Erlang语言开发的,所以系统环境必须提供 Erlang环境,需要是安装 Erlang
RabbitMQ下载版本要和erlang版本匹配
https://www.rabbitmq.com/which-erlang.html
下载RabbitMQ安装包
https://www.rabbitmq.com/changelog.html
点击上图Release notes跳转到github,找到下方的下载列表进行安装包下载:
https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.9.8
下载Erlang安装包
RabbitMQ是采用 Erlang语言开发的,所以系统环境必须提供 Erlang环境,需要是安装 Erlang
RabbitMQ下载版本要和erlang版本匹配
https://www.rabbitmq.com/which-erlang.html
说明:3.9.8是rabbitmq安装版本,对应的erlang版本范围23.2~24.2之间的版本均可。
清华大学开源软件镜像站:
https://mirrors.tuna.tsinghua.edu.cn/erlang-solutions/centos/7/
国外站点下载
https://packagecloud.io/app/rabbitmq/erlang/search?q=&filter=all&dist=el%2F7
首先安装Erlang
在/usr/local目录下创建一个rabbitmq目录:mkdir rabbitmq
把下载后的rabbitmq、erlang安装包上传到rabbitmq目录下:
首先安装erlang
出现失败时,需要做的处理:
在线安装依赖:
yum install build-essential openssl openssl-devel unixoDBC unix0DBC-deve make gcc gcc-c++ kernel-deve1 m4 ncurses-devel tk tc xz
然后查看gblic版本,版本低需要升级版本:
strings /lib64/libc.so.6 |grep GLIBC
版本低需要升级版本:
sudo yum install zlib-devel bzip2-devle openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make -y
下载rpm包:
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-utils-2.17-55.el6.x86_64.rpm &
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-static-2.17-55.el6.x86_64.rpm &
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-2.17-55.el6.x86_64.rpm &
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-common-2.17-55.el6.x86_64.rpm &
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-devel-2.17-55.el6.x86_64.rpm &
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-headers-2.17-55.el6.x86_64.rpm &
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/nscd-2.17-55.el6.x86_64.rpm &
安装rpm包:
sudo rpm -Uvh *-2.17-55.el6.x86_64.rpm --force --nodeps
再次查看版本信息已经是最新版本:
再次安装erlang,无异常出现,并用erl命令查询安装是否成功。
安装RabbitMQ
RabbitMQ需要socat依赖,所以先安装socat:
yum install -y socat
安装rabbitmq:
rpm -ivh rabbitmq-server-3.9.8-1.el7.noarch.rpm
#注意,正常启动rabbitmq服务前,需要配置linux服务器的hostname及hosts映射关系
# 配置hostname名称,如:test
```text
#注意,正常启动rabbitmq服务前,需要配置linux服务器的hostname及hosts映射关系
# 配置hostname名称,如:test
vim /etc/hostname
#配置host服务器ip的映射关系,如:192.168.0.1 test
vim /etc/hosts
操作命令
#启动服务:
systemctl restart rabbitmq-server
# 关闭rabbitmq服务
systemctl stop rabbitmq-server
# 重启rabbitmq服务
systemctl restart rabbitmq-server
# 查看服务状态
systemctl status rabbitmq-server
# 设置rabbitmq服务开机自启动
systemctl enable rabbitmq-server
# ======================================
也可以使用以下命令管理服务
# 启动服务:
service rabbitmq-server start
# 重启服务:
service rabbitmq-server restart
# 关闭服务:
service rabbitmq-server stop
# 查看服务状态
service rabbitmq-server status
安装RabbitMQ可视化控制台
安装rabbitmq客户端:
rabbitmq-plugins enable rabbitmq_management
访问地址:ip:15672,如localhost:15672
RabbitMQ有一个默认的账号密码guest,但该情况仅限于本机localhost进行访问,所以需要添加一个远程登录的用户
登录控制台前需要创建账户,并配置角色,然后赋权限
#新增用户
rabbitmqctl add_user 用户名 密码
# 设置用户角色,分配操作权限
rabbitmqctl set_user_tags 用户名 角色
# 为用户添加资源权限(授予访问虚拟机根节点的所有权限)
rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*"
# 修改密码
rabbitmqctl change_ password 用户名 新密码
# 删除用户
rabbitmqctl delete_user 用户名
# 查看用户清单
rabbitmqctl list_users
角色介绍:
administrator:可以登录控制台、查看所有信息、并对rabbitmq进行管理
monToring:监控者;登录控制台,查看所有信息
policymaker:策略制定者;登录控制台指定策略
managment`:普通管理员;登录控制
现在要登陆控制台,首先需要创建一个用户,并赋给该用户administrator角色,权限为所有权限:
#创建用户:kg,密码:kg
rabbitmqctl add_user kg kg
#赋角色:administrator
rabbitmqctl set_user_tags kg administrator
#设置权限为所有权限
rabbitmqctl set_permissons -p / kg ".*" ".*" ".*"
完成登录