手工部署RabbitMQ(CentOS 7.4)
简介
本文介绍了如何在华为云上使用弹性云服务器的Linux实例部署RabbitMQ。RabbitMQ是采用Erlang语言实现AMQP(Advanced Message Queuing Protocol,高级消息队列协议)的消息中间件,它最初起源于金融系统,用于在分布式系统中存储转发消息。RabbitMQ凭借其高可靠、易扩展、高可用及丰富的功能特性成为目前非常热门的一款消息中间件。
您还可以选择Solution as Code一键式部署方式自动部署高可用的RabbitMQ集群,详细内容请参见快速部署高可用的RabbitMQ集群。
前提条件
弹性云服务器所在安全组添加了如下表所示的安全组规则,具体步骤参见为安全组添加安全组规则。
方向 |
优先级 |
策略 |
类型 |
协议端口 |
源地址 |
---|---|---|---|---|---|
入方向 |
1 |
允许 |
IPv4 |
TCP: 5672 |
0.0.0.0/0 |
入方向 |
1 |
允许 |
IPv4 |
TCP: 15672 |
0.0.0.0/0 |
操作步骤
- 安装相关依赖包和perl。
- 登录弹性云服务器。
- 为了更好的获取和更新系统和软件,建议您更新镜像源为华为云镜像源,详细操作,请参见如何使用自动化工具配置华为云镜像源(x86_64和ARM)?。
- 执行以下命令,安装相关依赖包。
yum -y install make gcc gcc-c++ m4 ncurses-devel openssl-devel unixODBC-devel
- 执行如下命令,安装perl。
- 安装erlang。
关于erlang的安装请参考Erlang官方资料。
- 添加erlang存储库到系统
wget https://packages.erlang-solutions.com/erlang-solutions-2.0-1.noarch.rpm
rpm -Uvh erlang-solutions-2.0-1.noarch.rpm
或手动添加存储库条目
rpm --import https://packages.erlang-solutions.com/rpm/erlang_solutions.asc
- 在/etc/yum.repos.d/目录下新建一个文件rabbitmq-erlang.repo,然后将下面的粘帖进去
vi rabbitmq-erlang.repo
[erlang-solutions] name=CentOS $releasever - $basearch - Erlang Solutions baseurl=https://packages.erlang-solutions.com/rpm/centos/$releasever/$basearch gpgcheck=1 gpgkey=https://packages.erlang-solutions.com/rpm/erlang_solutions.asc enabled=1
按Esc键退出编辑模式,并输入:wq保存后退出。
- 执行以下命令安装erlang
执行以下命令安装esl-erlang
sudo yum install esl-erlang
- 执行如下命令,检查安装结果。
回显类似如下信息,说明erlang安装成功。
[root@ecs-rabbitmq ~]# erl -version Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.1.7
- 添加erlang存储库到系统
- 安装RabbitMQ
- 执行如下命令,进入用户主目录。
- 执行如下命令,下载RabbitMQ安装包。
- 打开Rabbit官网。
- 单击“Get Started”。
图1 Get Started
- 找到并单击“Download+Installation”。
图2 Download+Installation
- 根据云服务器的操作系统选择下载地址。例如本例中使用的是CentOS 7.x的下载地址。
图3 选择下载地址
- 在服务器上执行以下命令下载RabbitMQ安装包。
例如3.b.iv查找的下载地址是:
则执行的命令如下:
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.12/rabbitmq-server-3.8.12-1.el7.noarch.rpm
如果下载过程中提示“Unable to establish SSL connection.”
可以在wget命令后加--no-check-certificate,重复执行几次,即可下载。
例如:
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.12/rabbitmq-server-3.8.12-1.el7.noarch.rpm --no-check-certificate
- 执行以下命令安装RabbitMQ安装包。
- 安装完毕,启动RabbMQ
- 查看RabbMQ状态。
- 执行如下命令,启用RabbitMQ的web管理界面。
rabbitmq-plugins enable rabbitmq_management
回显类似如下信息:
[root@ecs-rabbitmq ~]# rabbitmq-plugins enable rabbitmq_management Enabling plugins on node rabbit@ecs-rabbitmq: rabbitmq_management The following plugins have been configured: rabbitmq_management rabbitmq_management_agent rabbitmq_web_dispatch Applying plugin configuration to rabbit@ecs-2b36... The following plugins have been enabled: rabbitmq_management rabbitmq_management_agent rabbitmq_web_dispatch started 3 plugins.
- 执行如下命令,创建一个新用户。
rabbitmqctl add_user 用户名 密码
命令示例:
rabbitmqctl add_user root 123456
- 执行如下命令,设置用户为管理员。
rabbitmqctl set_user_tags 用户名 administrator
命令示例:
rabbitmqctl set_user_tags root administrator
- 执行如下命令,赋予用户所有权限。
rabbitmqctl set_permissions -p / 用户名 '.*' '.*' '.*'
命令示例:
rabbitmqctl set_permissions -p / root '.*' '.*' '.*'
- 执行如下命令,在后台启动RabbitMQ。
rabbitmq-server -detached
- 使用浏览器访问 “http://弹性公网IP:15672”,显示如下页面,说明RabbitMQ安装成功。
- 输入步骤5创建的用户名和密码后单击“Login”,进入RabbitMQ管理界面。