如何在 Linux 上部署 RabbitMQ

RabbitMQ Assistant 是一款优秀的RabbitMQ 可视化管理工具,提供丰富的管理功能。下载地址:https://www.redisant.cn/rta


RabbitMQ 是由 Erlang 语言编写的,也正因如此,在安装 RabbitMQ 之前需要安装 Erlang 。建议采用较新版的 Erlang ,这样可以获得较多更新和改进,可以到官网下载。

安装 Erlang

从预构建的二进制包安装

大多数操作系统包管理器都提供预构建的二进制包。

  • 对于 macOS 上的 Homebrew:brew install erlang
  • 对于 macOS 上的 MacPorts:port install erlang
  • 对于 Ubuntu 和 Debian: apt-get install erlang
  • 对于 Fedora: yum install erlang
  • 对于 ArchLinux 和 Manjaro: pacman -S erlang
  • 对于 FreeBSD:pkg install erlang

操作系统提供的软件包往往不包含最新版本的 Erlang。因此下面我们将采用从源码安装的方式。

从源代码编译 Erlang

首先从Github下载源代码:https://github.com/erlang/otp/releases 。这里我将安装的版本为:26.1.2,下载的文件名为:otp_src_26.1.2.tar.gz

下载后放到合适的目录,然后解压并配置安装目录:

$ tar zxvf otp_src_26.1.2.tar.gz
$ cd otp_src_26.1.2
$ ./configure --prefix=/opt/erlang

如果出现类似关键报错信息:No curses library functions found。那么此时需要安装 ncurses,安装步骤(遇到提示输入 y 后直接回车即可)如下:

$ apt-get -y install libncurses5-dev

如果还有错误,根据错误说明,安装以下依赖:

# Install the build tools (dpkg-dev g++ gcc libc6-dev make)
$ apt-get -y install build-essential # Automatic configure script builder (debianutils m4 perl)
$ apt-get -y install autoconf # Needed for HiPE (native code) support, but already installed by autoconf
$ apt-get -y install m4 # Needed for terminal handling (libc-dev libncurses5 libtinfo-dev libtinfo5 ncurses-bin)
$ apt-get -y install libncurses5-dev # For building ssl (libssh-4 libssl-dev zlib1g-dev)
$ apt-get -y install libssh-dev # ODBC support (libltdl3-dev odbcinst1debian2 unixodbc)
$ apt-get -y install unixodbc-dev

安装 Erlang:

$ make
$ make install

修改/etc/profile配置文件,添加下面的环境变量:

ERLANG_HOME=/opt/erlang
export PATH=$PATH:$ERLANG_HOME/bin
export ERLANG_HOME

最后执行如下命令让配置文件生效:

$ source /etc/profile

可以输入 er1 命令来验证 Erlang 是否安装成功,如果出现类似以下的提示即表示安装成功:

$ erl
Erlang/OTP 19 [erts-8.1] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false] Eshell V8.1 (abort with ^G)
1>

RabbitMQ 的安装

RabbitMQ 的安装比 Erlang 的安装要简单,直接将下载的安装包解压到相应的目录下即可,在官网下载。这里选择将 RabbitMQ 安装到与 Erlang 同一个目录(/opt)下面:

$ tar -xf rabbitmq-server-generic-unix-3.12.8.tar.xz -C /opt
$ cd /opt

同样修改/etc/profile 文件,添加下面的环境变量:

export PATH=$PATH:/opt/rabbitmq_server-3.12.8/sbin
export RABBITMQ_HOME=/opt/rabbitmq_server-3.12.8

之后执行 source /etc/profile 命令让配置文件生效。

在修改了 /etc/profile 配置文件之后,可以任意打开一个 Shell 窗口,输入如下命令以运行 RabbitMQ 服务:

$ rabbitmq-server -detached

rabbitmq-server 命令后面添加一个 -detached 参数是为了能够让 RabbitMQ 服务以守护进程的方式在后台运行,这样就不会因为当前 Shell 窗口的关闭而影响服务。

可以运行 rabbitmqctl status 命令查看 RabbitMQ 是否正常启动。

使用 RabbitMQ Assistant 连接

RabbitMQ Assistant 是一款优秀的RabbitMQ 可视化管理工具,提供丰富的管理功能。下载地址:https://www.redisant.cn/rta

如何在 Linux 上部署 RabbitMQ的更多相关文章

  1. 如何在linux上部署vue项目

    安装nginx的前奏 安装依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 创建一个文件夹 cd /usr/ ...

  2. 关于如何在Linux上使用Nugix反向代理部署net core3.1项目

    本文意在教大家如何在Linux上部署net core web项目,本人通过实践已经成功可以通过外网访问我部署在阿里云服务器上的站点. 一:需要用到的东西如下: 1:一个基于net core框架下的we ...

  3. 如何在linux服务器部署Rstudio server,配置ODBC远程访问win 服务器上的SQL server

    如何在linux服务器部署Rstudio server,配置ODBC后通过RODBC包远程访问SQL server 背景介绍:之前写过一篇文章,提到近期要部署Rstudio server(搭建数据分析 ...

  4. springboot打成的jar包如何在Linux上持久运行

    一.首先说说在没有springboot的时候,项目是如何部署的? 1.动态web项目 动态web项目部署很方便,基本上上传文件到服务器的tomcat里面的webapps文件夹下即可完成部署.当然了,这 ...

  5. Linux上部署web服务器并发布web项目-转

    Linux上部署web服务器并发布web项目   近在学习如何在linux上搭建web服务器来发布web项目,由于本人是linux新手,所以中间入了不少坑,搞了好久才搞出点成果.以下是具体的详细步骤以 ...

  6. 如何在Linux上通过grub添加内核参数

    转自Linux中国 我们可以在linux内核启动时为其提供各种各样的参数.这些参数可以自定义内核默认的行为,或者通知内核关于硬件的配置信息.内核参数应在内核启动时通过引导装载程序,如GRUB或LILO ...

  7. 如何在Linux上使用VIM进行.Net Core开发

    对于在Linux上开发.Net Core的程序员来说, 似乎都缺少一个好的IDE. Windows上有Visual Studio, Mac上有Visual Studio for Mac, 难道Linu ...

  8. Linux上部署SVN

    Linux上部署SVN author:headsen chen  2017-10-16  16:45:04 前提:通过yum来安装,必须是centos6.5的桌面版的.否则会出现某些的安装包不全而导致 ...

  9. 在Linux上部署Web项目

    You believe it or not there is a feeling, lifetime all not lost to time. 在Linux上部署Web项目 这个是普通的web项目, ...

  10. 如何在 Linux 上复制文件/文件夹到远程系统?

    从一个服务器复制文件到另一个服务器,或者从本地到远程复制是 Linux 管理员的日常任务之一. 我觉得不会有人不同意,因为无论在哪里这都是你的日常操作之一.有很多办法都能处理这个任务,我们试着加以概括 ...

随机推荐

  1. 记录--使用Canvas绘制一个验证码组件

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 使用Canvas绘制一个验证码组件 前言 验证码,这一日常伴随我们的要素,是我们在线交互的重要安全保障.你的手机短信里是否被它占据半壁江山 ...

  2. 【教程】深入探究 JS代码混淆与加密技术

    引言 在网络世界中,保护代码安全是至关重要的一环.JS代码混淆与加密技术则成为了开发者们常用的手段之一.本文将深入探讨混淆和加密的概念,以及其实现原理和应用方法,帮助读者更好地了解并运用这些技术. 概 ...

  3. abp9 .net8 升级错误记录

    错误一. Cannot find compilation library location for package 'System.Security.Cryptography.Pkcs' 修复方法:  ...

  4. 如何使用 JavaScript 导入和导出 Excel

    前言 在现代的Web应用开发中,与Excel文件的导入和导出成为了一项常见而重要的任务.无论是数据交换.报告生成还是数据分析,与Excel文件的交互都扮演着至关重要的角色.本文小编将为大家介绍如何在熟 ...

  5. 【K8S】Kubernetes中暴露外部IP地址来访问集群中的应用

    本文是Kubernetes.io官方文档中介绍如何创建暴露外部IP地址的Kubernetes Service 对象. 学习目标 运行Hello World应用程序的五个实例. 创建一个暴露外部IP地址 ...

  6. ftp安装与配置 云服务器 CentOS7

    1.FTP的安装 #安装 yum install -y vsftpd #设置开机启动 systemctl enable vsftpd.service #启动 systemctl start vsftp ...

  7. ChatTuGraph:通过大模型“与图对话”

    使用SQL(Structured Query Language)对数据库/数据仓库进行查询分析操作,几乎成了研发工程师和数据分析师的"家常便饭",然而要写出高效.清晰.优雅的SQL ...

  8. 用于vivado的TCL脚本创建工程

    用于实现在脚本所在的目录创建工程并初始化工程 点击查看代码 #获取脚本所在的文件 variable My_File [file normalize [info script]] #prj_path_f ...

  9. SpringBoot集成LDAP同步数据

    1.pom引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId& ...

  10. MySQL访问控制和用户管理

    访问控制   你需要给用户提供他们所需的访问权,且仅提供他们所需的访问权.这就是所谓的访问控制,管理访问控制需要创建和管理用户账号. 多数用户只需要对表进行读和写,但少数用户甚至需要能创建和删除表: ...