Ubuntu 20.04 (Focal Fossa) 上安装RabbitMQ和Erlang,并配置管理员,并且修改数据目录

本脚本适用于在Ubuntu 20.04 (Focal Fossa) 上在线快速安装RabbitMQ和Erlang。

快速安装脚本:

#!/bin/shsudo apt-get install curl gnupg apt-transport-https -y## Team RabbitMQ's main signing key
curl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg > /dev/null
## Community mirror of Cloudsmith: modern Erlang repository
curl -1sLf https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg > /dev/null
## Community mirror of Cloudsmith: RabbitMQ repository
curl -1sLf https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/rabbitmq.9F4587F226208342.gpg > /dev/null## Add apt repositories maintained by Team RabbitMQ
sudo tee /etc/apt/sources.list.d/rabbitmq.list <<EOF
## Provides modern Erlang/OTP releases
##
deb [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu focal main
deb-src [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu focal main# another mirror for redundancy
deb [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu focal main
deb-src [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu focal main## Provides RabbitMQ
##
deb [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu focal main
deb-src [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu focal main# another mirror for redundancy
deb [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu focal main
deb-src [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu focal main
EOF## Update package indices
sudo apt-get update -y## Install Erlang packages
sudo apt-get install -y erlang-base \erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets \erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key \erlang-runtime-tools erlang-snmp erlang-ssl \erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl## Install rabbitmq-server and its dependencies
sudo apt-get install rabbitmq-server -y --fix-missing

赋予可执行权限
chmod +x a.sh
执行
./a.sh

就可以了

安装RabbitMQ和Erlang后,您可以执行一些基本的操作来确保RabbitMQ正常运行,并开始使用它。以下是一些后续步骤:

  1. 检查RabbitMQ服务状态
    确认RabbitMQ服务正在运行。在终端中运行以下命令:

    sudo systemctl status rabbitmq-server
    

    这个命令会显示RabbitMQ服务的状态。

  2. 启用RabbitMQ管理插件(如果需要):
    RabbitMQ附带一个管理插件,它提供了一个基于Web的用户界面,用于管理和监视您的RabbitMQ服务器。要启用它,请运行:

    sudo rabbitmq-plugins enable rabbitmq_management
    

    然后,您可以在浏览器中访问 http://your_server_ip:15672 来访问管理界面。

  3. 创建用户和设置权限(如果需要):
    默认情况下,RabbitMQ创建了一个用户名为 guest 的用户,密码也是 guest,但这个用户只能在本地访问。您可能想要创建一个新的用户:

    sudo rabbitmqctl add_user myuser mypassword
    sudo rabbitmqctl set_user_tags myuser administrator
    sudo rabbitmqctl set_permissions -p / myuser ".*" ".*" ".*"
    

    这些命令创建了一个新用户,并给予管理员权限和对所有资源的访问权限。

  4. 测试RabbitMQ
    一旦一切设置就绪,您可以开始测试RabbitMQ。这可能涉及到使用RabbitMQ客户端库在您的应用程序中发送和接收消息。

  5. 阅读RabbitMQ文档
    要充分利用RabbitMQ,建议您阅读官方文档,了解其架构、概念和最佳实践。RabbitMQ文档可以在官方网站找到。

  6. 定期维护和监控
    保持对RabbitMQ实例的定期监控和维护,确保其稳定运行。可以使用RabbitMQ管理界面来监控队列、连接和其他重要指标。

如果您在使用RabbitMQ的过程中遇到任何问题或者有任何疑问,随时可以寻求帮助。RabbitMQ社区也非常活跃,是一个寻求帮助和最佳实践的好地方。
您的配置步骤看起来是正确的。这里是您执行的操作的简要概述:

  1. 添加用户
    您创建了一个名为 aaa 的新用户,密码为 xxxx

    sudo rabbitmqctl add_user aaa xxxx
    
  2. 设置用户角色
    您为 aaa 用户分配了 administrator 角色,这将允许该用户访问RabbitMQ的管理控制台并执行管理任务:

    sudo rabbitmqctl set_user_tags aaa administrator
    
  3. 设置权限
    您为 aaa 用户设置了对所有资源的全权限,这意味着该用户可以在RabbitMQ服务器上创建、读取、写入和删除任何队列、交换机等:

    sudo rabbitmqctl set_permissions -p / aaa ".*" ".*" ".*"
    

现在,您的用户 aaa 应该能够完全访问和管理RabbitMQ服务器。您可以通过访问RabbitMQ的管理界面(通常位于 http://your_server_ip:15672)并使用 aaa 用户名和您设置的密码登录来验证这一点。

如果您在执行这些步骤或以后使用RabbitMQ时遇到任何问题,请随时向我寻求帮助。
如果您想将RabbitMQ的数据目录更改为 /app/rabbit/mnesia,以下是相应的步骤。请确保遵循这些步骤以避免数据丢失和服务中断:

更改RabbitMQ数据目录

  1. 创建新目录并设置权限
    首先,创建新的数据目录 /app/rabbit/mnesia 并设置正确的权限:

    sudo mkdir -p /app/rabbit/mnesia
    sudo chown -R rabbitmq:rabbitmq /app/rabbit
    
  2. 更新RabbitMQ环境配置文件
    修改 /etc/rabbitmq/rabbitmq-env.conf 文件,指定新的Mnesia(RabbitMQ数据库)目录。如果这个文件不存在,您可能需要创建它:

    echo 'MNESIA_BASE=/app/rabbit/mnesia' | sudo tee -a /etc/rabbitmq/rabbitmq-env.conf
    
  3. 拷贝数据到新目录
    在停止RabbitMQ服务之前,先将现有的数据拷贝到新目录中:

    sudo cp -a /var/lib/rabbitmq/mnesia/* /app/rabbit/mnesia
    
  4. 停止并重启RabbitMQ服务
    停止RabbitMQ服务,然后重新启动以应用新的配置:

    sudo systemctl stop rabbitmq-server
    sudo systemctl start rabbitmq-server
    
  5. 验证服务状态
    检查RabbitMQ服务的状态,以确保服务已正确启动并使用了新的数据目录:

    sudo systemctl status rabbitmq-server
    

注意事项

  • 数据备份:在进行任何更改之前,务必备份 /var/lib/rabbitmq/mnesia/ 目录中的所有数据。
  • 服务可用性:如果您的环境中部署了RabbitMQ集群,请考虑集群的高可用性。在高可用集群中,您应该逐个节点进行更改,以免影响整个服务。
  • 测试环境验证:在生产环境中应用更改之前,建议您在测试环境中进行验证,以避免潜在的服务中断。

按照这些步骤,您应该能够安全地更改RabbitMQ的数据目录到 /app/rabbit/mnesia。如果在执行这些操作时遇到任何问题,或者需要其他帮助,请随时联系我。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496387.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javascript indexOf函数

使用方法&#xff1a;strObj.indexOf(str,startIndex[可选]) 程序代码 其中strObj是必选项。String 对象或文字。 str是必选项。要在 String 对象中查找的子字符串。 startIndex是可选项。该整数值指出在 String 对象内开始查找的位置&#xff0c;从0开始。如果省略&#xff0c…

Spring Data JPA 从入门到精通~@Procedure 储存过程的查询方法

我们通过 Procedure 来介绍一下&#xff0c;JPA 对储存过程的支持。 &#xff08;1&#xff09;Procedure 源码如下&#xff1a; public interface Procedure {// 数据库里面储存过程的名称String value() default "";// 数据库里面储存过程的名称String procedure…

Nature 首度揭示大脑传递信息的真正逻辑

我们对于大脑的理解还停留在极为初步的阶段&#xff08;图片来源&#xff1a;Pixabay&#xff09;来源&#xff1a;生物360摘要&#xff1a;我们过去对于大脑处理信息的理解&#xff0c;其实是非常片面和不准确的。今日&#xff0c;一项重量级的研究刊登在了最新一期的《自然》…

Linux 用户 和 用户组 管理 (添加、删除、修改)及说明

From&#xff1a;http://www.cnblogs.com/xd502djj/archive/2011/11/23/2260094.html 鸟哥官网 Linux 帐号管理与 ACL 权限设定&#xff1a;http://linux.vbird.org/linux_basic/0410accountmanager.php 鸟哥官网&#xff08;简体中文&#xff09;&#xff1a;http://cn.linux.…

java+long是什么_Java中long的模运算符是什么? - java

如何在Java中找到两个长数值的模(&#xff05;)&#xff1f;我的代码说“整数太大”&#xff0c;后面跟我要修改的数字。我尝试将其强制转换很长时间&#xff0c;但没有成功。我是否必须将其转换为BigInteger并使用剩下的方法&#xff1f;谢谢。参考方案%运算符确实可以工作很长…

发现一个奇怪的问题: 不能把文件取名为 con

在 XP 系统下不能建立叫 con 的文件! 不知其他朋友也是这样? 转载于:https://www.cnblogs.com/del/archive/2009/04/26/1444175.html

IBM Watson将成为失败的投资?分析师眼里, IBM AI过度乐观, 夸大宣传

来源&#xff1a;36Kr 作者&#xff1a;石筱玉IBM Watson是在医疗领域最早布局的AI之一。在36Kr此前的盘点中&#xff0c;我们也知道Watson希望参与患者诊疗中的每一个步骤&#xff1a;导医用智能音箱、Watson诊断工具、住院看护辅助&#xff0c;还有病患心理疏导……Watson已…

Spring Data JPA 从入门到精通~@NamedQueries预定义查询

这种是预定义查询的一种形式 &#xff08;1&#xff09;在 Entity 下增加 NamedQuery 定义。 public interface NamedQuery {//query的名称&#xff0c;规则&#xff1a;实体.方法名&#xff1b;String name();//具体的JPQL查询语法String query(); } 需要注意&#xff0c;这…

jsp+servlet+java 实现统计在线人数

首先&#xff1a;jsp ----------------------------index.jsp 我要现在index.jsp 写一段 JavaScript <html> <head> <script type"text/javascript"> window.onbeforeunload function() //author: meizz { var n window.event.screenX - …

linux 文件系统详解

From&#xff1a;http://soysauce93.blog.51cto.com/7589461/1715655 From&#xff1a;http://blog.csdn.net/new0801/article/details/63687127 Linux 的虚拟文件系统(强烈推荐)&#xff1a;http://blog.csdn.net/heikefangxian23/article/details/51579971 鸟哥 Linux 磁盘…

国际互联网协会(ISOC)提出未来互联网十项原则

来源&#xff1a;腾讯研究院此前&#xff0c;国际互联网协会&#xff08;Internet Society&#xff0c;简称ISOC&#xff09;发布了题为《通往数字化未来之路&#xff08;Paths to Our Digital Future&#xff09;》的报告&#xff0c;就数字化未来的道路进行了探索。ISOC认为&…

不错的html学习网址。

http://htmlplayground.com/ 转载于:https://www.cnblogs.com/techfootsprints/archive/2009/04/28/1445774.html

Spring Data JPA 从入门到精通~javax.persistence概况介绍

虽然 Spring Data JPA 已经对数据的操作封装的很好了&#xff0c;约定大于配置的思想&#xff0c;帮我们默认了很多东西。JPA&#xff08;Java 持久性 API&#xff09;是存储业务实体关联的实体的来源&#xff0c;它显示了如何定义一个面向普通 Java 对象&#xff08;POJO&…

java equals 判断空_Java 判断字符串是否为空的三种方法与性能分析

[java中判断字符串是否为数字的三种方法 1>用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i str.length();--i>0;){ if (!CharactJava 判断字符串是否为空的三种方法与性能分析Java编程过程中经常会涉及到判断空字符串的问题&#x…

Linux安装配置类似mac下的docky

百度经验&#xff1a;ubuntu安装配置类似mac下的docky 亲手打造自己的Linux桌面环境&#xff1a;http://os.51cto.com/art/201510/493896_all.htm Dock是一种图形用户界面元素&#xff0c;允许用户一键访问常用的应用程序&#xff0c;在应用程序之间快速切换&#xff0c;以及…

埃森哲:2018年科技愿景

来源&#xff1a;199IT互联网数据中心埃森哲近日发布了新报告“2018年科技愿景”&#xff0c;分析了五大技术趋势让企业能够挖掘潜力&#xff0c;创造新的商业机会并帮助改变我们所知道的世界。1公民AI&#xff08;人工智能&#xff09;AI随处可见&#xff0c;在整个社会范围内…

IT人不要一直做技术(转--我也不知道转了几圈了)

【引子】感觉这篇文章很有深意&#xff0c;正是我所想说的话。希望大家有借鉴。 【原文】 我现在是自己做&#xff0c;但我此前有多年在从事软件开发工作&#xff0c;当回过头来想一想自己&#xff0c;觉得特别想对那些初学JAVA/DOT。NET技术的朋友说点心里话&#xff0c;希望你…

java 导出excel教程_Java导出Excel表格

Java导出Excel表格 导出Excel表格需要一个poi-3.9.jar的包&#xff0c;该包在网上可以找到。第一步&#xff0c;创建Excel对象。 HSSFWorkbook workbook new HSSFWorkbook();创建一个工作表。 HSSFSheet sheet workbook.createSheet("日常收入报表");创建合并单元格…

Spring Data JPA 从入门到精通~基本注解

Entity、Table、Id、GeneratedValue、Basic、Column、Transient、Lob、Temporal 先看一个 Blog 的案例其中实体的配置如下&#xff1a; Entity Table(name "user_blog", schema "test") public class UserBlogEntity {IdColumn(name "id", …

大数据竞赛平台——Kaggle 入门

From&#xff1a;http://blog.csdn.net/u012162613/article/details/41929171 大数据竞赛平台——Kaggle 入门篇 这篇文章适合那些刚接触Kaggle、想尽快熟悉Kaggle并且独立完成一个竞赛项目的网友&#xff0c;对于已经在Kaggle上参赛过的网友来说&#xff0c;大可不必耗费时间…