云服务器ECS部署和卸载RabbitMQ

云服务器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
  • 创建并远程连接Linux实例。
    1. 创建实例。 具体操作,请参见使用向导创建实例
    2. 为实例分配公网IPv4地址。
    3. 选择前提条件中已配置的安全组。
    4. 其他配置您可以按需选择。
    5. 远程连接实例。 具体操作,请参见通过密码或密钥认证登录Linux实例
  • 安装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.1mkdir -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版本,确认是否安装成功。
cderl -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
  1. 配置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 /  ".*" ".*" ".*"
  1. 在本地主机中,使用浏览器访问 Linux实例的公网IP:15672。 显示如下页面,说明RabbitMQ安装成功。
  2. 输入已创建的RabbitMQ管理员用户名和密码后,单击 Login,进入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/rabbitmqrm -rf /usr/local/erlangrm -rf /usr/local/rabbitmq

Original: https://www.cnblogs.com/jerrybky/p/15680425.html
Author: 不识人间烟火的你
Title: 云服务器ECS部署和卸载RabbitMQ

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/610921/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • [算法基础] 从斐波那契数列说起(一)

    从斐波那契数列说起 斐波那契(Fibonacci)数列是数学中一个著名的数列,有很多神奇的特性,在多个领域有广泛使用。定义如下数列为斐波那契数列: 该如何编写程序求解出斐波那契数列…

    Java 2023年6月16日
    085
  • Java学习-085-Springboot 解决 InetAddress.getLocalHost().getHostName() took 13387 milliseconds to respond. Please verify your network configuration

    在启动 Springboot 时,发现启动耗时较长,启动日志提示:InetAddress.getLocalHost().getHostName() took 13387 milli…

    Java 2023年5月29日
    061
  • 非自交任意多边形与矩形框的交集面积计算方法

    非自交任意多边形与矩形框的交集面积计算方法 1、应用背景 在对象识别的AI计算时,有时需要限定检测区域,即目标对象落在限定区域内有效,在区域外忽略。转换为数学模型为:目标检测框与限…

    Java 2023年6月14日
    069
  • Apache Flink系列-①什么是Apache Flink?

    Apache Flink系列-①什么是Apache Flink? Apache Flink是一个框架和分布式处理引擎,用于在无界和有界数据流上进行有状态计算。Flink被设计为在所…

    Java 2023年6月5日
    077
  • 003-博学谷-年度钻石C++/C-Unix/Linux(2)

    常用命令 3.1 概述 很多人可能在电视或电影中看到过类似的场景,黑客面对一个黑色的屏幕,上面飘着密密麻麻的字符,梆梆一顿敲,就完成了窃取资料的任务。 Linux 刚出世时没有什么…

    Java 2023年6月7日
    0122
  • Xshell连Linux使用vim时无法在小键盘输入数字

    Xshell连Linux使用vim时无法在小键盘输入数字 原因分析 当xshell终端类型不是”VT220″或者”ANSI”的情况下…

    Java 2023年6月9日
    093
  • swagger

    Swagger简介 前后端分离 前端 -> 前端控制层、视图层 后端 -> 后端控制层、服务层、数据访问层 前后端通过API进行交互 前后端相对独立且松耦合 产生的问题…

    Java 2023年6月9日
    072
  • JAVA 创建也项目平级文件

    undefined String url = System.getProperty("user.dir") +"/logs/test.txt&quot…

    Java 2023年5月29日
    083
  • 事件的监听与发布

    有些时候,我们希望某件事情发生的时候能够触发一个事件,让这个事件帮我们做些事情。比如,在晚上十一点到晚上十二点这段时间,假如还有人在使用我们的软件,我们就触发一个事件播放一首美妙的…

    Java 2023年6月5日
    068
  • Prohibited package name: java

    一级包名不能叫Java 本文来自博客园,作者:紫英626,转载请注明原文链接:https://www.cnblogs.com/recorderM/p/16037571.html O…

    Java 2023年6月5日
    079
  • redis篇

    点赞再看,养成习惯,微信搜索「 小大白日志」关注这个搬砖人。 文章不定期同步公众号,还有各种一线大厂面试原题、我的学习系列笔记。 数据结构 应用场景 string 普通的键值对存储…

    Java 2023年6月8日
    063
  • 基于node、ganache搭建一个以太坊投票Dapp

    前言 这段时间在remix中学习solidity语法,虽然remix很强大,但是编写好的合约代码很容易丢失,虽然remix可以使用本地文件系统及github中的远程仓库,但还是想尝…

    Java 2023年6月8日
    084
  • 利用Abot 抓取博客园新闻数据

    1. 引言 相比于Java而言,基于C#的开源爬虫就少了很多。入行这么多年也从未接触过爬虫。出于兴趣今天给大家介绍一个C# 的爬虫工具Abot. 需要使用可以通过Nuget获取。A…

    Java 2023年6月5日
    087
  • Spring MVC @EnableWebMvc 流程

    接上篇:https://www.cnblogs.com/jhxxb/p/13598074.html @EnableWebMvc 使用 @EnableWebMvc 和不使用它有一个非…

    Java 2023年5月30日
    079
  • springboot 整合国产达梦数据库配置代码

    pom maven 中央仓库里面没有,需要手动安装到 maven 本地仓库 druid 配置 application.properties 配置类 package org.fh.c…

    Java 2023年6月8日
    070
  • ntpdate[31915]: the NTP socket is in use, exiting

    cron 作业中运行 ntpdate,以便大约每隔一小时就设置一次本地时间。最近,我每次运行该命令时都会收到下列错误消息。 ntpdate[31915]: the NTP sock…

    Java 2023年6月16日
    050
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球