云服务器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. 9组-Alpha冲刺-2/6

    一.基本情况 队名:不行就摆了吧 组长博客:https://www.cnblogs.com/Microsoft-hc/p/15534079.html 小组人数: 8 二.冲刺概况汇报 谢小龙 过去两天 ...

  2. 第五周PTA笔记 后缀表达式+后缀表达式计算

    后缀表达式 所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右进行(不用考虑运算符的优先级). 如:中缀表达式 3(5–2 ...

  3. FZU_DS_2019_SequenceList

    单选题 2-1   数组A[1..5,1..6]每个元素占5个单元,将其按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[5,5]的地址为:  A.1120      B.1125   ...

  4. More Effective C++笔记(一)(精心整理)

    一.基础议题 条款1:仔细区别pointers和references 指针使用*和->,引用使用"." 引用必须指向一个已初始化的对象,不能为null,而指针可以指向某个对象 ...

  5. [cf997E]Good Subsegments

    一个区间为好区间当且仅当$\max_{l\le i\le r}a_{i}-\min_{l\le i\le r}a_{i}=r-l$,考虑固定右端点$r$,维护所有左端点$l$的上述式子左-右的值,那么 ...

  6. springboot配置自动提示插件-IDEA

    社区版的IDEA编辑spring boot项目的properties或者yml文件不会自动提醒.可手动安装IDEA的插件解决. Setting >> Plugins >> 搜索 ...

  7. JavaScript 函数声明和变量声明

    声明语句:声明语句是用来声明或定义标识符(变量和函数名)并给其赋值. 1:var 变量声明(5.3.1节): var语句用来声明一个或多个变量:var name_1 = [= value_1] [ , ...

  8. [源码解析] PyTorch 分布式 Autograd (1) ---- 设计

    [源码解析] PyTorch 分布式 Autograd (1) ---- 设计 目录 [源码解析] PyTorch 分布式 Autograd (1) ---- 设计 0x00 摘要 0x01 分布式R ...

  9. nvm安装以及管理多版本node教程

    安装nvm.node.npm 下载nvm安装包,推荐使用1.1.7,我个人使用1.1.8会有中文乱码的报错 点击exe文件,注意修改nvm的安装根目录以及node的安装根目录,后者是以后管理多版本no ...

  10. 洛谷 P3711 - 仓鼠的数学题(多项式)

    洛谷题面传送门 提供一种不太一样的做法. 假设要求的多项式为 \(f(x)\).我们考察 \(f(x)-f(x-1)\),不难发现其等于 \(\sum\limits_{i=0}^na_ix^i\) 考 ...