1. 安装Erlang

由于rabbitmq是基于erlang语言开发的,所以必须先安装erlang。

curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
yum -y install erlang

  

  

2. 安装RabbitMQ Server

curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
yum -y install rabbitmq-server

 

3. 更改系统限制

有两个限制:操作系统内核允许的最大打开文件数(fs.file-max)和每个用户的限制(ulimit -n)。前者必须高于后者。

我们建议在生产环境中为用户Rabbitmq至少允许65536个文件描述符

查看内核允许的最大文件数

sysctl -n fs.file-max

  不够则修改/etc/sysctl.conf,然后运行sysvtl -p

修改rabbitmq进程允许的最大文件数,systemd编辑

/usr/lib/systemd/system/rabbitmq-server.service中的LimitNOFILE参数
[root@node2 ~]# cat /usr/lib/systemd/system/rabbitmq-server.service |grep LimitNOFILE
# To override LimitNOFILE, create the following file:
# LimitNOFILE=65536
LimitNOFILE=65536

 如果是旧版的系统,没有systemd的。可以修改

cat /etc/security/limits.conf
.......
* soft nofile 65535
* hard nofile 65535

  

重启服务后验证限制

[root@node2 ~]# lsof -i:15672
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
beam.smp 129344 rabbitmq 96u IPv4 103591373 0t0 TCP *:15672 (LISTEN)
[root@node2 ~]# cat /proc/129344/limits |grep "Max open files"
Max open files 65536 65536 files

  

4. 启动和关闭 

systemctl start rabbitmq-server
systemctl stop rabbitmq-server

  

5. 日志目录

/var/log/rabbitmq/rabbit

日志每周轮询一次,配置文件在: /etc/logrotate.d/rabbitmq-serve

6. 开启WEB UI

rabbitmq-plugins enable rabbitmq_management

默认账号密码:guest guest(这个账号只允许本机访问)

7. 创建用户

6.1 创建一个用户,具有管理员权限

rabbitmqctl add_user admin  password
rabbitmqctl set_user_tags admin administrator

6.2 创建一个用户和虚拟主机,并允许该用户访问该虚拟主机

rabbitmqctl add_user celery celery
rabbitmqctl add_vhost celery_vhos
rabbitmqctl set_user_tags celery celery_tag
rabbitmqctl set_permissions -p celery_vhost celery ".*" ".*" ".*"

8. 默认端口

  • 4369:epmd,RabbitMQ节点和CLI工具使用的对等发现服务
  • 5672、5671:由不带TLS和带TLS的AMQP 0-9-1和1.0客户端使用
  • 25672:用于节点间和CLI工具通信(Erlang分发服务器端口),并从动态范围分配(默认情况下限制为单个端口,计算为AMQP端口+ 20000)。除非确实需要这些端口上的外部连接(例如,群集使用联合身份验证或在子网外部的计算机上使用CLI工具),否则这些端口不应公开。有关详细信息,请参见网络指南
  • 35672-35682:由CLI工具(Erlang分发客户端端口)用于与节点进行通信,并从动态范围(计算为服务器分发端口+ 10000通过服务器分发端口+ 10010)分配。有关详细信息,请参见网络指南
  • 15672:HTTP API客户端,管理UIRabbitmqadmin (仅在启用了管理插件的情况下)
  • 61613、61614:不带TLS和带TLS的STOMP客户端(仅在启用STOMP插件的情况下)
  • 1883、8883 :(如果启用了MQTT插件,则不带TLS和具有TLS的MQTT客户端
  • 15674:STOMP-over-WebSockets客户端(仅在启用了Web STOMP插件的情况下)
  • 15675:MQTT-over-WebSockets客户端(仅在启用Web MQTT插件的情况下)
  • 15692:Prometheus指标(仅在启用Prometheus插件的情况下)

参考文档:

https://www.rabbitmq.com/install-rpm.html

https://www.rabbitmq.com/production-checklist.html

CentOS上安装配置RabbitMQ Server的更多相关文章

  1. Centos7 上安装配置 RabbitMQ

    前言:  最近服务器上搭建了一下rabbitmq, 网上找了很多教程, 采了灰常灰常多的坑. 现在终于从坑里面爬出来了.赶紧写下来,避免下次掉坑里面   好了,废话不多说,下面步入正题 一.安装Erl ...

  2. CentOS上安装配置Python3.7

    一.安装依赖包,这个具体的作用我也不清楚,感觉好像是在安装的时候会要用到的工具. yum install zlib-devel bzip2-devel openssl-devel ncurses-de ...

  3. centos上安装配置java WEB环境_java(转)

    趁着十一期间,好好的写写随笔来记录自己所学.所践和所得,不足之处,欢迎各位拍砖~~~ 工具:Xftp 5.Xshell 5 一.安装jdk 1. 使用Xftp 5把jdk-8u65-linux-x64 ...

  4. Centos上安装配置docker(命令集)

    导出镜像存储: docker save house/redis:3.2 > redis_img.tar   (也可以使用镜像ID) 导入镜像存储: docker load < redis_ ...

  5. CentOS上安装配置 mongodb

    CentOS 首先yum list mongo* 查看是否有关于mongo的安装包,检查后安装即可   mongo 分client端和server端,server启动db服务,client可以连接到s ...

  6. 云服务器上安装配置Filezilla Server的坑!

    1.Filezilla被动模式配置如下,需要使用比较大号的端口,用1024以内的不行! 2.相应的,IP筛选器放开TCP-50020端口.不是UDP! 3.可以正常访问了.GOOD! 4.注意,服务器 ...

  7. CentOS上安装配置Ruby on Rails

    0.install sublime editor(optional) ref:http://www.tecmint.com/install-sublime-text-editor-in-linux/ ...

  8. 在Centos上安装RabbitMQ流程(转)

    在Centos上安装RabbitMQ流程------------------------ 1. 需求 由于项目中要用到消息队列,经过ActiveMQ与RabbitMQ的比较,最终选择了RabbbitM ...

  9. 在Centos 7上安装配置 Apche Kafka 分布式消息系统集群

    Apache Kafka是一种颇受欢迎的分布式消息代理系统,旨在有效地处理大量的实时数据.Kafka集群不仅具有高度可扩展性和容错性,而且与其他消息代理(如ActiveMQ和RabbitMQ)相比,还 ...

随机推荐

  1. Ubuntu不能使用passwd的--stdin的解决办法

    转载请注明来源https://www.cnblogs.com/sogeisetsu/p/11397648.html Ubuntu不能使用passwd的--stdin的解决办法 可以使用chpasswd ...

  2. 一个兼容IE7\IE8,H5的多功能视频播放器,H5视频播放器兼容Flash视频播放器

    这里记录一个视频播放器,免费可适当修改:名称:ckplayer视频播放器(免费) 官网地址:http://www.ckplayer.com/ 下载地址:http://www.ckplayer.com/ ...

  3. DT企业新闻也叫公司新闻简介调取方案

    今天我们讲的是企业新闻简介的事,由于destoon官方比较懒,企业新闻没有开发这个截字功能,我们就变通思维直接调取内容前100字,但是由于企业新闻是2个不同的 表,所以我们必须做点小事,  就是写点p ...

  4. Nuxt 学习资料

    Nuxt 学习资料 网址 官方网站 https://zh.nuxtjs.org/guide/installation

  5. 不能走路(walk)

    [题目背景] 小G 同学总是在树上走路.小S 看不下去了,决定阻止小G 同学. [题目描述] 有一棵 n 个点的树,树上有 m 条路径,每条路径为 x[i]到y[i] 的树上最短路径(不经过相同的边) ...

  6. Hive修改表语句

    0x01:重命名表 1 ALTER TABLE table_name RENAME TO new_table_name; 上面这个命令可以重命名表,数据所在的位置和分区都没有改变. 0x02:改变列名 ...

  7. Activity间通过Intent交互及系统服务调用

    I. 实验目的通过本实验理解Android开发框架中最核心程序部件Activity间通过Intent交互的原理,掌握通过Intent传递参数和系统服务调用的方法,并通过实验中的3个具体的实验内容加深理 ...

  8. Game-Based Learning Is Changing How We Teach. Here's Why.

    https://www.edsurge.com/news/2019-02-04-game-based-learning-is-changing-how-we-teach-here-s-why This ...

  9. ios app ipv6 审核总结

    AAAA记录(AAAA record)是用来将域名解析到IPv6地址的DNS记录.用户可以将一个域名解析到IPv6地址上,也可以将子域名解析到IPv6地址上. 1)$ dig +nocmd +nost ...

  10. [nodemon] app crashed - waiting for file changes before starting...

    慕课网前端工程师晋升课程 Vue全家桶+SSR+Koa2全栈开发美团网 视频里用 npx create-nuxt-app mt-app创建项目后,不能使用import ...from....跟着老师修 ...