一、背景

最近项目中用到了RabbitMQ,但是发现自己本地没有安装,此文记录一下本地RabbitMQ的安装过程。注意不同的系统安装方式略有不同,此处我们记录的是Centos7的安装方式。

二、安装方式

此处我们通过rpm的方式来安装,官方介绍了2种方式来安装这些rpm。

1、第二种安装方式需要的依赖

第二种方式安装RabbitMQ需要的依赖为:

2、安装RabbitMQ需要的用户权限

三、安装RabbitMQ

1、安装erlang

1、RabbitMQ需要的erlang的版本

不同的RabbitMQ需要不同的erlang版本,那么这个版本在哪个地方可以下载到了?

可以通过下方这个链接看到 https://www.rabbitmq.com/which-erlang.html

2、erlang来源选择



erlang的来源可能有多个地方,比如来自erlang官方,来自rabbitmq提供的。而在RabbitMQ的安装指南中,推荐使用RabbitMQ提供的erlang安装包,这个安装包只提供了RabbitMQ需要的erlang组件。

3、下载erlang

此处下载的erlang,我们选择RabbitMQ提供的。但是此处我们也需要注意erlang的版本,因为不同的版本的erlang,可能支持不同的系统。

1、注意系统openssl的版本

不同版本的erlang需要不同的openssl版本,我的系统是centos7,电脑上的openssl版本是1.0x,因此选择erlang 23。

2、安装erlang23版本

1、导入RabbitMQ的签名key
## primary RabbitMQ signing key
rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
2、配置本地yum源
# In /etc/yum.repos.d/rabbitmq_erlang.repo
[rabbitmq_erlang]
name=rabbitmq-rabbitmq-erlang
baseurl=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/rpm/el/7/$basearch
repo_gpgcheck=1
enabled=1
gpgkey=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key
https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
gpgcheck=1
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
pkg_gpgcheck=1
autorefresh=1
type=rpm-md [rabbitmq_erlang-noarch]
name=rabbitmq-rabbitmq-erlang-noarch
baseurl=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/rpm/el/7/noarch
repo_gpgcheck=1
enabled=1
gpgkey=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key
https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
gpgcheck=1
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
pkg_gpgcheck=1
autorefresh=1
type=rpm-md [rabbitmq_erlang-source]
name=rabbitmq-rabbitmq-erlang-source
baseurl=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/rpm/el/7/SRPMS
repo_gpgcheck=1
enabled=1
gpgkey=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key
https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
gpgcheck=1
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
pkg_gpgcheck=1
autorefresh=1
type=rpm-md
3、安装erlang
yum update -y
# 安装erlang
yum install -y erlang-23.3.4
# 验证erlang是否安装成功
erl --version

2、安装RabbitMQ

# 下载rabbitmq server
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.11/rabbitmq-server-3.9.11-1.el7.noarch.rpm # 安装需要的依赖
yum install socat logrotate -y # 安装rabbitmq server
yum install rabbitmq-server-3.9.11-1.el7.noarch.rpm

3、启动RabbitMQ

# 启动rabbitmq
service rabbitmq-server start

4、查看RabbitMQ的状态

service rabbitmq-server status

5、关闭RabbitMQ

service rabbitmq-server stop

四、启动RabbitMQ的管控台

1、执行启用命令

rabbitmq-plugins enable rabbitmq_management

2、放行15672端口

默认情况下,rabbitmq_management插件是运行在15672端口的,此时我们需要在防火墙中放行15672端口外界才可以访问。

# 查看防火墙放行的端口
[root@centos01 rabbitmq]# firewall-cmd --zone=public --list-ports
8091/tcp
# 放行15672端口
[root@centos01 rabbitmq]# firewall-cmd --zone=public --add-port=15672/tcp --permanent
success
# 使刚刚配置的防火墙生效
[root@centos01 rabbitmq]# firewall-cmd --reload
success
[root@centos01 rabbitmq]# firewall-cmd --zone=public --list-ports
8091/tcp 15672/tcp
[root@centos01 rabbitmq]#

3、登录管控台

1、使用默认的guest用户登录



默认的guest账户的密码是guest,可以看到这个账户只能通过localhost来访问。这个限制可以通过修改RabbitMQ的配置来解决,此处我们不解决,采用重新创建一个用户来解决这个问题。

2、创建一个admin用户

1、创建admin用户,密码也是admin

[root@centos01 rabbitmq]# rabbitmqctl add_user admin admin

2、给用户赋予administrator角色

[root@centos01 rabbitmq]# rabbitmqctl set_user_tags admin administrator

3、给用户在虚拟主机/上赋予所有权限

[root@centos01 rabbitmq]# rabbitmqctl  set_permissions -p / admin '.*' '.*' '.*'

3、使用刚刚创建的admin用户登录

五、RabbitMQ涉及的端口

六、注意事项及问题

1、RabbitMQ和与之对应的erlang的版本号对应对应上。可以通过此链接查看https://www.rabbitmq.com/which-erlang.html

2、RabbitMQ自己提供了一个erlang虚拟机,建议使用这个。网址为https://github.com/rabbitmq/erlang-rpm

3、需要注意不同版本的RabbitMQ需要系统上openssl的版本问题。RabbitMQ的安装指南中有。

4、RabbitMQ的node name默认请求下是rabbit@hostname,因此我们不要随便修改主机名,否则可能出现问题。

5、RabbitMQ启动后,如何查看日志文件、RabbitMQ目录、配置文件、erlang cookie的值?

默认请求下日志文件的路径是 /var/log/rabbitmq目录下,我们可以打开这个目录下的日志文件查看。

less /var/log/rabbitmq/rabbit\@centos01.log



6、修改用户可以打开的最大文件数ulimit -n,大部分系统默认是1024,推荐修改成65536

7、RabbitMQ的配置文件路径

/etc/rabbitmq/rabbitmq.conf

上面只是RabbitMQ其中的一个配置文件路径,也可以放置在别的目录下。

七、参考链接

1、RabbitMQ需要的erlang版本

2、RabbitMQ提供的erlang地址

3、RabbitMQ的rpm安装指南

4、RabbitMQ的配置

Centos7服务器上RabbitMQ单机安装的更多相关文章

  1. CentOS7服务器上部署深度/机器学习环境推荐首选anaconda3

    CentOS7服务器上部署深度/机器学习环境推荐首选anaconda3,亲测~~ 因为可以创建不同的环境版本或虚拟环境 CentOS7服务器安装anaconda3后,CentOS7服务器开启后自动将a ...

  2. 无法访问 CentOS7服务器上应用监听的端口

    无法访问 CentOS7服务器上应用监听的端口 参考资料 云主机上Centos7配置Iptables规则开启80.3306等端口https://blog.csdn.net/qq_37960007/ar ...

  3. CentOS下 RabbitMQ单机安装配置

    CentOS RabbitMQ rpm 安装方法: 系统环境:CentOS6IP地址:10.100.62.41 1.erlang安装: erlang下载地址: http://www.rabbitmq. ...

  4. CentOS服务器上搭建Gitlab安装步骤、中文汉化详细步骤、日常管理以及异常故障排查

    一, 服务器快速搭建gitlab方法 可以参考gitlab中文社区 的教程centos7安装gitlab:https://www.gitlab.cc/downloads/#centos7centos6 ...

  5. CentOS7服务器上部署Oracle客户端

    环境 操作系统: CentOS7.2.1511 x86_64 准备安装包 在这个网站:https://www.oracle.com/technetwork/topics/linuxx86-64soft ...

  6. 在Linux服务器上使用Vbox安装虚拟机

    先去官网(www.virtualbox.org)上下载对应Linux系统的Vbox版本. 我这边用的是Oracle Linux 7系统(KDE安装) 使用rpm安装virtualbox 发现报错,按照 ...

  7. window服务器上mongodb的安装与如何将mongodb设置为服务,为mongodb设置管理用户,mongodb连接字符串配置

    最近公司有一个项目模块让用nosql-mongodb替换了,故,对mongodb做了一点研究,然后分享一下! 1.首先说一下安装时的坑 下载mongodb,如果你从官网下载,将会是一件很慢的事情,在公 ...

  8. centos7.3上用源代码安装zabbix3.2.7

    安装zabbix之前请自行先搭建好LAMP环境! 1.下载源码安装包并解压 1.1 下载 [root@nmserver- ~]# mkdir zabbix [root@nmserver- ~]# cd ...

  9. 阿里云服务器CentOS7.3上通过Docker安装MySQL

    一.前言 我的服务器环境: CentOS7.3 Docker Portainer -> Docker可视化界面工具 二.拉取mysql镜像 这里我安装的是mysql5.7版本 docker pu ...

随机推荐

  1. 简单易懂讲IO

    流式 IO 是传统 IO,通过构造输入输出流,讲信息从一个地方读取,输出到另一个地方.常见的有读取文件以及写入文件. 基本 API 流失 IO 基本可以分为两个门派,一个以 InputStream 和 ...

  2. path-sum-ii leetcode C++

    Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given su ...

  3. hdu 2154 跳舞毯(简单DP)

    题意: 有一个圆圆的毯,被平均分成三个扇形.分为标记为A,B,C. 小余从A开始跳,每次可跳到相邻的扇形上.(A->B 或 A->C) 问小余跳n次,最后回到扇形A的方案数是多少. 思路: ...

  4. 我的笔记本电脑瞬间扩大一个T的容量!

    前言 不知道有多少人在家里搭建中央存储设备的,也就是NAS.这个东西在我日常生活中,存储了大量的个人资料,家人们的照片,技术的资料,还有各种高清影视剧.搭配公网的IP,可以真正做到,任何时候任何地点的 ...

  5. flex步局 11.02

    语法 justify-content: flex-start | flex-end | center | space-between | space-around flex-start:弹性盒子元素将 ...

  6. matlab与python scipy.signal中 freqs freqz 中w,什么时候是角频率,什么时候是真实的工程中使用的采样频率Hz,如何转化

    matlab与python scipy.signal中的freqs,freqz频率分析函数,输出的w,有时候是角频率,有时候是真实频率,容易搞混,这里对比一下. 0.  精要总结: 1) freqs: ...

  7. 攻防世界 Misc 新手练习区 坚持60s Writeup

    攻防世界 Misc 新手练习区 坚持60s Writeup 题目介绍 题目考点 java反编译 jd-gui 的使用 Writeup 下载附件并打开 kali执行命令 java -jar 9dc125 ...

  8. 刷题日记-JZ25合并有序链表

    合并有序链表 递归方式合并链表pHead1,pHead2 base case是 pHead1为空或者pHead2为空 递归方式是 如果pHead1->val < pHead2->va ...

  9. Linux 服务器的基本性能及测试方法

    1. 摘要 一个基于 Linux 操作系统的服务器运行的同时,也会表征出各种各样参数信息.通常来说运维人员.系统管理员会对这些数据会极为敏感,但是这些参数对于开发者来说也十分重要,尤其当程序非正常工作 ...

  10. MySQL高级篇 | 索引介绍

    前言 性能下降SQL慢的原因 查询语句写的烂 索引失效 单值索引 复合索引 关联查询太多join(设计缺陷或不得已的需求) 服务器调优及各个参数设置(缓冲.线程数等) 索引是什么 MySQL官方对索引 ...