文档首页/ 弹性云服务器 ECS/ 最佳实践/ 搭建应用/ 手工部署RabbitMQ(CentOS 7.4)
更新时间:2024-10-29 GMT+08:00
分享

手工部署RabbitMQ(CentOS 7.4)

简介

本文介绍了如何在华为云上使用弹性云服务器的Linux实例部署RabbitMQ。RabbitMQ是采用Erlang语言实现AMQP(Advanced Message Queuing Protocol,高级消息队列协议)的消息中间件,它最初起源于金融系统,用于在分布式系统中存储转发消息。RabbitMQ凭借其高可靠、易扩展、高可用及丰富的功能特性成为目前非常热门的一款消息中间件。

您还可以选择Solution as Code一键式部署方式自动部署高可用的RabbitMQ集群,详细内容请参见快速部署高可用的RabbitMQ集群

前提条件

弹性云服务器所在安全组添加了如下表所示的安全组规则,具体步骤参见为安全组添加安全组规则

表1 安全组规则

方向

优先级

策略

类型

协议端口

源地址

入方向

1

允许

IPv4

TCP: 5672

0.0.0.0/0

入方向

1

允许

IPv4

TCP: 15672

0.0.0.0/0

操作步骤

  1. 安装相关依赖包和perl。

    1. 登录弹性云服务器。
    2. 为了更好的获取和更新系统和软件,建议您更新镜像源为华为云镜像源,详细操作,请参见如何使用自动化工具配置华为云镜像源(x86_64和ARM)?
    3. 执行以下命令,安装相关依赖包。

      yum -y install make gcc gcc-c++ m4 ncurses-devel openssl-devel unixODBC-devel

    4. 执行如下命令,安装perl。

      yum install perl

  2. 安装erlang。

    关于erlang的安装请参考Erlang官方资料
    1. 添加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

    2. 在/etc/yum.repos.d/目录下新建一个文件rabbitmq-erlang.repo,然后将下面的粘帖进去

      cd /etc/yum.repos.d/

      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保存后退出。

    3. 执行以下命令安装erlang

      sudo yum install erlang

      执行以下命令安装esl-erlang

      sudo yum install esl-erlang

    4. 执行如下命令,检查安装结果。

      erl -version

      回显类似如下信息,说明erlang安装成功。

      [root@ecs-rabbitmq ~]# erl -version
      Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.1.7

  3. 安装RabbitMQ

    1. 执行如下命令,进入用户主目录。

      cd

    2. 执行如下命令,下载RabbitMQ安装包。
      1. 打开Rabbit官网
      2. 单击“Get Started”。
        图1 Get Started
      3. 找到并单击“Download+Installation”。
        图2 Download+Installation
      4. 根据云服务器的操作系统选择下载地址。例如本例中使用的是CentOS 7.x的下载地址。
        图3 选择下载地址
      5. 在服务器上执行以下命令下载RabbitMQ安装包。

        例如3.b.iv查找的下载地址是:

        https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.12/rabbitmq-server-3.8.12-1.el7.noarch.rpm

        则执行的命令如下:

        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

      6. 执行以下命令安装RabbitMQ安装包。

        yum install rabbitmq-server-3.8.12-1.el7.noarch.rpm

    3. 安装完毕,启动RabbMQ

      service rabbitmq-server start

    4. 查看RabbMQ状态。

      service rabbitmq-server status

  4. 执行如下命令,启用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.

  5. 执行如下命令,创建一个新用户。

    rabbitmqctl add_user 用户名 密码

    命令示例:

    rabbitmqctl add_user root 123456

  6. 执行如下命令,设置用户为管理员。

    rabbitmqctl set_user_tags 用户名 administrator

    命令示例:

    rabbitmqctl set_user_tags root administrator

  7. 执行如下命令,赋予用户所有权限。

    rabbitmqctl set_permissions -p / 用户名 '.*' '.*' '.*'

    命令示例:

    rabbitmqctl set_permissions -p / root '.*' '.*' '.*'

  8. 执行如下命令,在后台启动RabbitMQ。

    rabbitmq-server -detached

  9. 使用浏览器访问 “http://弹性公网IP:15672”,显示如下页面,说明RabbitMQ安装成功。

  10. 输入步骤5创建的用户名和密码后单击“Login”,进入RabbitMQ管理界面。

相关文档