专栏首页软件工程师成长笔记Centos7安装部署RabbitMQ说明文档
原创

Centos7安装部署RabbitMQ说明文档

1 简介

RabbitMQ是一个开源的免费的消息队列系统,一端往消息队列中不断写入消息,而另一端则可以读取或者订阅队列中的消息。它是用Erlang编写的,并实现了高级消息队列协议(AMQP)。

2 安装部署

2.1 安装EPEL存储库和Erlang

安装RabbitMQ是用Erlang语言编写的,在本教程中我们将安装最新版本的Erlang到服务器中。 Erlang在默认的YUM存储库中不可用,因此您将需要安装EPEL存储库。

运行以下命令:

#yum -y install epel-release

此步骤更新系统可不执行。

yum -y update

现在使用以下命令安装Erlang。

#yum -y install erlang socat

您现在可以使用以下命令检查Erlang版本。

#erl -version

您将得到以下输出。

root@hdc-pc ~# erl -version

Erlang (ASYNC_THREADS,HIPE) (BEAM) emulator version 5.10.4

要切换到Erlang shell,可以键入以下命令。

#erl

shell将更改,您将得到以下输出。

Erlang R16B03-1 (erts-5.10.4) source async-threads:10 kernel-poll:false

Eshell V5.10.4 (abort with ^G)

1>

您可以通过按ctrl + C两次退出shell。 Erlang现在安装在系统上,现在可以继续安装RabbitMQ。

2.2 安装部署RabbitMQ

RabbitMQ为预编译并可以直接安装的企业Linux系统提供RPM软件包。 唯一需要的依赖是将Erlang安装到系统中。 我们已经安装了Erlang,我们可以进一步下载RabbitMQ。

通过运行下载Erlang RPM软件包。

#wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm

如果你没有安装wget ,可以运行

#yum -y install wget

您可以随时找到最新版本的RabbitMQ下载页面的链接。

通过运行导入GPG密钥:

#rpm –import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc

运行RPM安装RPM包:

#rpm -Uvh rabbitmq-server-3.6.10-1.el7.noarch.rpm

RabbitMQ现已安装在您的系统上。

2.3 启动和关闭RabbitMQ服务

您可以通过运行以下命令启动RabbitMQ服务器进程。

#systemctl start rabbitmq-server

要在引导时开机自动启动RabbitMQ,请运行以下命令。

#systemctl enable rabbitmq-server

要检查RabbitMQ服务器的状态,请运行:

#systemctl status rabbitmq-server

如果启动成功,您应该得到以下输出:

您可以使用以下命令关闭RabbitMQ服务器进程。

#systemctl stop rabbitmq-server

3 修改防火墙和SELinux规则

配置centos端口,AMQP端口(5672)和Web管理控制台端口(15672),运行以下命令:

#firewall-cmd --zone=public --permanent --add-port=15672/tcp

#firewall-cmd --zone=public --permanent --add-port=5672/tcp

加载防火墙配置

#firewall-cmd --reload

如果您启用SELinux,则必须运行以下命令以允许RabbitMQ服务。

#setsebool -P nis_enabled 1

4 启动和关闭Web管理控制台

启动RabbitMQ Web管理控制台,运行命令:

#rabbitmq-plugins enable rabbitmq_management

关闭RabbitMQ Web管理控制台,运行命令:

#rabbitmq-plugins disable rabbitmq_management

5 创建用户并分配权限

通过运行以下命令,将RabbitMQ文件的所有权提供给RabbitMQ用户:

#chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/

现在,您将需要为RabbitMQ Web管理控制台创建管理用户。 运行以下命令相同。

//添加用户,后面两个参数为用户名(admin)、密码(your password),将管理员更改为管理员用户的首选用户名。

#rabbitmqctl add_user admin StrongPassword

//修改用户角色

#rabbitmqctl set_user_tags admin administrator

//修改用户权限

#rabbitmqctl set_permissions -p / admin “.*” “.*” “.*”

6 访问管理控制台

要访问RabbitMQ的管理面板,请使用您最喜爱的Web浏览器并打开以下URL。

http://IP:15672/

1)您将看到以下登录页面。

2)输入用户名密码,登录后,您将看到管理信息中心。

3)您可以在仪表板的“ 管理”标签中找到用户列表,虚拟主机和策略。 您应该删除访客用户的安全注意事项。

4)您可以在“ 队列”选项卡中找到消息队列列表。 您可以通过此界面创建新队列或删除现有队列。

5)您可以在“ 连接”选项卡上找到当前连接的列表

6)同样,您可以在各自的选项卡上找到渠道和交换。

7 修改rabbitmq打开文件数量

使用上一步配置的用户登录进管理后台,可知rabbitmq默认的文件打开数是1024,这对消息中间件来说太低了。官方建议我们在正式环境至少配置65536,而在开发环境中配置到4096。

7.1 修改方法

7.1.1 官方方法

打开limits.conf

#vim /etc/systemd/system/rabbitmq-server.service.d/limits.conf

在Service 下添加 LimitNOFILE = 300000

Service

LimitNOFILE = 300000

重启服务

#service rabbitmq-server restart

7.1.2 个人成功方法

打开rabbitmq-server.service,(没办法,找不到官方说的limits.conf)

#vim /etc/systemd/system/multi-user.target.wants/rabbitmq-server.service

同样在Service模块下,加入LimitNOFILE = 300000

Service

LimitNOFILE = 300000

重启rabbitmq,访问管理后台,发现打开文件数并没有修改成功,依旧是1024

打开 sysctl.conf

#vim /etc/sysctl.conf

添加:

fs.file-max = 65535

然后执行此命令,

#systemctl daemon-reload

#systemctl start rabbitmq-server

或者重启服务器

#reboot

再次访问管理后台,发现打开数已改为300000

特别鸣谢:

Centos7 安装最新RabbitMQ及配置

RabbitMQ安装部署

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • IE、FireFox、Chrome浏览器中关于URL传参中文乱码,解决兼容性问题!

    前台用url传值中文,后台用request.getParameter接收参数。在Firefox,Chrome等浏览器中没有问题。但用IE浏览器就又会出现参数中文...

    麦克劳林
  • 复选框实现子节点父节点联动

    麦克劳林
  • 解决8080端口占用问题

    1、以管理员身份运行cmd,在dos下,输入 netstat -ano|findstr 8080

    麦克劳林
  • java泛型理解。代码更明了。

    在工作中,相对于现有的项目源码的数据库操作层,无论是mybatis,hibernate或者是自己封装的baseModel层,都会使用到泛型。

    陈灬大灬海
  • 关于蘑菇数据集的探索分析数据集描述读取数据集直观分析——颜色鲜艳的蘑菇都有毒?相关性分析——判断各指标与毒性相关性模型训练——使用决策树模型

    数据集描述 来源于kaggle的蘑菇数据集,包括毒性,大小,表面,颜色等,所有数据均为字符串类型,分析毒性与其他属性的关系 读取数据集 dataset = pd...

    月见樽
  • 常用编码表

    Text-to-speech function is limited to 200 characters

    botkenni
  • 上拉加载更多

    第一个 第二个 $(function(){ var counter = 2;//开始加载 var num = 6;//每页数量 ...

    苦咖啡
  • 智能硬件-运动手环测试

    8、是否含心率监测、蓝牙通话、微信聊天、卫星定位、睡眠监测、运动计步、信息提示、抬表亮屏等相关功能

    用户6367961
  • $(window).load()与$(document).ready()的区别

    1.执行时间不同:从字面的意思上理解,$(document).ready()就是文档准备好了。也就是浏览器已经解析完整个html文档,dom树已经建立起来了,...

    java达人
  • 初学java之(盒子分布)

    1 import javax.swing.*; 2 3 import java.awt.*; 4 class WinGrid extends JFr...

    Gxjun

扫码关注云+社区

领取腾讯云代金券