云服务器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. psutil模块详解

    import psutil#1.系统性能信息模块psutilmem = psutil.virtual_memory()print(mem)#svmem(total=8442675200, availa ...

  2. tomcat访问的重定向问题

    症状: tomcat在eclipse里面能正常启动,而在浏览器中访问http://localhost:8080/不能访问,且报404错误.同时其他项目页面也不能访问. 关闭eclipse里面的tomc ...

  3. Exploring Matrix

    import java.util.Scanner; public class J714 { /** * @taking input from user */ public static void ma ...

  4. [luogu7740]机器人游戏

    考虑容斥,令$f(S)$为要求$\forall p\in S,p$可以作为起点的方案数,答案即$\sum_{S\subseteq[0,n)}(-1)^{|S|}f(S)$ 关于计算$f(S)$,对于第 ...

  5. js防止重复提交代码

    if (checkSubmitFlg == true) { console.log("禁止频繁操作.."); layer.close(ide); return false; } c ...

  6. Mybatis类型转换BUG

    案例:mybatis框架的使用中是否遇到过前台传入数据后mybatis后台并不执行sql的情况呢? 比如:前台传入一个状态var flag //空字符,0,1 然后你用int接收,到mybatis框架 ...

  7. Dockerfile之CMD与Entrypoint使用要点

    CMD与ENTRYPOINT都可以代表容器的启动命令,单丛语义上来理解,CMD是一个命令或者口令,而ENTRYPOINT则是一个入口(相当于容器启动时的入口),那么其实就可以理解为每当我们开启一个容器 ...

  8. P6072 『MdOI R1』Path

    考虑我们有这样操作. 我们只要维护两点在子树内和两点在子树外的异或和即可. 前者可以类似于线段树合并的trie树合并. 后者有两种做法: 一种是把dfn序翻倍:然后子树补变成了一个区间最大异或问题,可 ...

  9. ISIJ2021 游记

    Day -419 ~ ? - 2020.5.8 ~ ? 咦?ISIJ2021 怎么会扯到 2020 年的事情呢? 好吧这似乎真的是一个长篇大论,事情真的要从那一天开始讲起-- 仍依稀记得 2020 年 ...

  10. Codeforces 1109F - Sasha and Algorithm of Silence's Sounds(LCT)

    Codeforces 题面传送门 & 洛谷题面传送门 讲个笑话,这题是 2020.10.13 dxm 讲题时的一道例题,而我刚好在一年后的今天,也就是 2021.10.13 学 LCT 时做到 ...