前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Centos7安装部署RabbitMQ说明文档

Centos7安装部署RabbitMQ说明文档

原创
作者头像
麦克劳林
修改2020-01-17 09:51:38
7960
修改2020-01-17 09:51:38
举报

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安装部署

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 简介
  • 2 安装部署
    • 2.1 安装EPEL存储库和Erlang
    • yum -y update
      • 2.2 安装部署RabbitMQ
        • 2.3 启动和关闭RabbitMQ服务
        • 3 修改防火墙和SELinux规则
        • 4 启动和关闭Web管理控制台
        • 5 创建用户并分配权限
        • 6 访问管理控制台
        • 7 修改rabbitmq打开文件数量
          • 7.1 修改方法
            • 7.1.1 官方方法
            • 7.1.2 个人成功方法
        相关产品与服务
        消息队列 CMQ 版
        消息队列 CMQ 版(TDMQ for CMQ,简称 TDMQ CMQ 版)是一款分布式高可用的消息队列服务,它能够提供可靠的,基于消息的异步通信机制,能够将分布式部署的不同应用(或同一应用的不同组件)中的信息传递,存储在可靠有效的 CMQ 队列中,防止消息丢失。TDMQ CMQ 版支持多进程同时读写,收发互不干扰,无需各应用或组件始终处于运行状态。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档