云服务器ECS部署RabbitMQ

RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件,用于在分布式系统中存储转发消息,有良好的易用性、扩展性和高可用性。本文介绍如何通过ECS实例部署RabbitMQ。


前提条件

已创建网络类型为专有网络的安全组,并且在安全组的入方向添加规则并放行80、5672及15672端口,如果您使用SSH远程连接Linux实例,还需要放行22端口。 具体操作,请参见添加安全组规则

背景信息

RabbitMQ使用Erlang语言编写服务器端,并支持多种客户端,如Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP和STOMP,同时也支持AJAX。

您可以通过以下两种方式部署RabbitMQ。

  • 镜像部署:适合新手使用。具体操作,请参见镜像部署RabbitMQ

  • 手动部署:适合对Linux命令有基本了解的用户,能够个性化部署。具体操作,请参见

    手动部署RabbitMQ

    手动部署使用以下操作系统和软件版本:

    • 操作系统:公共镜像CentOS 7.8 64位

    • RabbitMQ版本:3.7.8

    • erlang版本:21.1

    • JDK版本:1.8.0_282

    本文提供的手动部署方式中,RabbitMQ只在当前运行的系统环境下启动,如果您需要设置开机自启动RabbitMQ服务,可以通过云助手实现。具体操作,请参见通过云助手设置RabbitMQ开机自启动

    手动部署RabbitMQ

    1. 创建并远程连接Linux实例。

      1. 创建实例。

        具体操作,请参见使用向导创建实例

        • 为实例分配公网IPv4地址。

        • 选择前提条件中已配置的安全组。

        • 其他配置您可以按需选择。

      2. 远程连接实例。

        具体操作,请参见通过密码或密钥认证登录Linux实例

    2. 安装erlang。

      1. 运行以下命令,安装erlang所需要的依赖包。

        yum install -y make gcc gcc-c++ m4 openssl openssl-devel ncurses-devel unixODBC unixODBC-devel java java-devel
      2. 运行以下命令,下载erlang安装包。

        wget http://erlang.org/download/otp_src_21.1.tar.gz
      3. 运行以下命令,解压erlang安装包。

        tar -zxvf otp_src_21.1.tar.gz
      4. 运行以下命令,进入erlang安装包的解压路径,并为erlang创建一个新的目录。

        cd otp_src_21.1
        mkdir -p /usr/local/erlang
      5. 依次运行以下命令,编译并安装erlang。

        ./configure --prefix=/usr/local/erlang
        make && make install
      6. 安装完成后,运行以下命令,为erlang配置环境变量。

        echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile
      7. 运行以下命令,使环境变量立即生效。

        source /etc/profile
      8. 运行以下命令,返回系统的/root目录,然后查看erlang版本,确认是否安装成功。

        cd
        erl -version

        返回如下信息表示erlang已成功安装。

    3. 下载并安装RabbitMQ。

      RabbitMQ对Erlang的版本具有一定限制,更多信息,请参见RabbitMQ Erlang Version Requirements。本示例使用的Erlang为21.1版本,因此选择下载RabbitMQ 3.7.8版本。

      1. 运行以下命令,下载RabbitMQ安装包。

        wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.8/rabbitmq-server-generic-unix-3.7.8.tar.xz
      2. 运行以下命令,解压RabbitMQ安装包。

        tar -xvf rabbitmq-server-generic-unix-3.7.8.tar.xz
      3. 解压完成后,运行以下命令,为RabbitMQ配置环境变量。

        echo 'export PATH=$PATH:/root/rabbitmq_server-3.7.8/sbin' >> /etc/profile
      4. 运行以下命令,使环境变量立即生效。

        source /etc/profile
    4. 配置RabbitMQ。

      1. 运行以下命令,启动RabbitMQ并后台运行。

        rabbitmq-server -detached

        注意 该命令只在当前运行的系统环境下启动RabbitMQ,一旦服务器重启,RabbitMQ服务将不会自动启动。因此,建议您通过阿里云的云助手功能,设置RabbitMQ开机自启动。具体操作,请参见通过云助手设置RabbitMQ开机自启动

      2. 运行以下命令,启动RabbitMQ监控插件。

        rabbitmq-plugins enable rabbitmq_management

        如果您需要关闭RabbitMQ监控插件,可以运行rabbitmq-plugins disable rabbitmq_management

      3. 为保证数据安全,建议您运行以下命令,删除默认用户。

        RabbitMQ默认的账号用户名和密码都是guest

        rabbitmqctl delete_user guest
      4. 创建RabbitMQ管理员用户。

        1. 运行以下命令,创建一个新用户。

          rabbitmqctl add_user <用户名> <密码>

          其中,

          <用户名>

          <密码>

          为您自定义的信息。

        2. 运行以下命令,将创建的新用户设置为管理员。

          rabbitmqctl set_user_tags <用户名> administrator
        3. 运行以下命令,赋予新创建的用户所有权限。

          rabbitmqctl set_permissions -p / <用户名> ".*" ".*" ".*"
    5. 在本地主机中,使用浏览器访问Linux实例的公网IP:15672

      显示如下页面,说明RabbitMQ安装成功。

    6. 输入已创建的RabbitMQ管理员用户名和密码后,单击Login,进入RabbitMQ管理界面。

      RabbitMQ管理界面展示信息如下所示:


卸载rabbitmq

1、卸载rabbitmq相关

卸载前先停止rabbitmq服务

/usr/lib/rabbitmq/bin/rabbitmqctl stop

查看rabbitmq安装的相关列表

yum list | grep rabbitmq

卸载rabbitmq已安装的相关内容

yum -y remove rabbitmq-server.noarch

2、卸载erlang

查看erlang安装的相关列表

yum list | grep erlang

卸载erlang已安装的相关内容

yum -y remove erlang-*
yum remove erlang.x86_64

3、删除有关的所有文件

rm -rf /usr/lib64/erlang 
rm -rf /var/lib/rabbitmq
rm -rf /usr/local/erlang
rm -rf /usr/local/rabbitmq

云服务器ECS部署和卸载RabbitMQ的更多相关文章

  1. 阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)

    阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7) 1.效果图 1 2. 部署步骤 1 1. mysql安装附加(centos7) 7 ...

  2. 阿里云服务器ECS部署应用教程

    购买阿里云服务器 大多数云服务器默认安装的语言运行环境版本都很旧了,python用的还是2.7,JDK用的还是1.6的,在ECS云服务器中可以自行安装,包括python3.4之类的. 在次页面购买EC ...

  3. 【阿里云】云服务器 ECS部署网站

    我是广告!!! https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=hgk32vx5 领券更优惠,老板看着来~ 1.服务器 ...

  4. 云服务器 ECS > 建站教程 > 部署 LAMP (CentOS 7.2 ,Apache版本:2.4.23, Mysql 版本:5.7.17 , Php版本:7.0.12)

    云服务器 ECS > 建站教程 > 部署 LAMP (CentOS 7.2) 部署 LAMP (CentOS 7.2) 文档提供方:上海驻云信息科技有限公司    更新时间:2017-06 ...

  5. 阿里云ECS云服务器CentOS部署个人网站

    ping了一下coding pages和阿里云服务器的速度,意外感觉coding的速度反而更快.不过为了折腾,还是把博客迁移到阿里云,跌跌撞撞遇到很多坑,大多是由于对指令不熟悉以及部分教程省略了部分步 ...

  6. 云服务器ECS

    云服务器Elastic Compute Service(ECS)是阿里云提供的一种基础云计算服务.使用云服务器ECS就像使用水.电.煤气等资源一样便捷.高效.您无需提前采购硬件设备,而是根据业务需要, ...

  7. 阿里云产品介绍(一):云服务器ECS

    最近天南海北的跑客户,在沟通过程中,发现很多客户对于阿里云众多的产品颇有种挑花了眼不知如何入手的感觉,就想写一个系列来简单的介绍下. 云计算的概念刚出来的时候,吹的牛皮是可以将成千上万台物理服务器连接 ...

  8. 云服务器 ECS Linux 误删除文件恢复方法介绍

    云服务器 ECS Linux 下,rm -rf  意味着一旦删除的文件是无法挽回的.但如果在没有文件覆盖操作的前提下,可以先尝试相关方式进行文件恢复. 本文对此进行简要说明. https://help ...

  9. 云服务器 ECS Linux 磁盘空间满(含 innode 满)问题排查方法

    问题描述 在云服务器 ECS Linux 系统内创建文件时,出现类似如下空间不足提示: No space left on device … 问题原因 导致该问题的可能原因包括: 磁盘分区空间使用率达到 ...

随机推荐

  1. vue3 学习笔记 (二)——axios 的使用有变化吗?

    本篇文章主要目的就是想告诉我身边,正在学 vue3 或者 准备学 vue3 的同学,vue3中网络请求axios该如何使用,防止接触了一点点 vue3 的同学会有个疑问?生命周期.router .vu ...

  2. dart系列之:创建Library package

    目录 简介 Library package的结构 导入library 条件导入和导出library 添加其他有效的文件 library的文档 发布到pub.dev 总结 简介 在dart系统中,有pu ...

  3. Dapr-Actor构建块

    前言: 前篇-绑定 文章对Dapr的绑定构建块进行了解,本篇继续对 Actor 构建块进行了解学习. 一.Actor简介: Actors 为最低级别的"计算单元". 换句话说,您将 ...

  4. git使用大全

    创建四个分支: 查看分支:git branch查看仓库里面所有的分支 git branch -a刷新分支 git remote update origin --prune创建分支:git branch ...

  5. 9 Days 停课修炼题解集

    xj4604 排序 \(n,k <= 1e5\). 先考虑二分出这个值,check 有多少段的平均值小于这个 mid,这个在之前的复活赛中是原题 T4,数形结合,$ \text{Average} ...

  6. 比对软件Blast,Blast+,Diamond比较

    1. Blast (1)格式化数据库 formatdb -i db.seq -p T -o T -l logfile 主要参数: -i 输入需要格式化的源数据库名称 -p 文件类型,是核苷酸序列数据库 ...

  7. 【R shiny】一些应用记录

    目录 DT和downloadButton应用 downloadButton 中验证结果输出 添加进度条 如何确保仅在使用Shiny按下操作按钮时才触发操作 其他 DT和downloadButton应用 ...

  8. 【机器学习与R语言】7-回归树和模型树

    目录 1.理解回归树和模型树 2.回归树和模型树应用示例 1)收集数据 2)探索和准备数据 3)训练数据 4)评估模型 5)提高模型性能 1.理解回归树和模型树 决策树用于数值预测: 回归树:基于到达 ...

  9. 单片机ISP、IAP和ICP几种烧录方式的区别

    单片机ISP.IAP和ICP几种烧录方式的区别 玩单片机的都应该听说过这几个词.一直搞不太清楚他们之间的区别.今天查了资料后总结整理如下. ISP:In System Programing,在系统编程 ...

  10. 日常Java测试第二段 2021/11/12

    第二阶段 package word_show; import java.io.*;import java.util.*;import java.util.Map.Entry; public class ...