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

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

#erl

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

Erlang R16B03-1 (erts-5.10.4) [source] [64-bit] [async-threads:10] [hipe] [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/

  • 您将看到以下登录页面。
  • 输入用户名密码,登录后,您将看到管理信息中心。
  • 您可以在仪表板的“ 管理”标签中找到用户列表,虚拟主机和策略。 您应该删除访客用户的安全注意事项。
  • 您可以在“ 队列”选项卡中找到消息队列列表。 您可以通过此界面创建新队列或删除现有队列。
  • 您可以在“ 连接”选项卡上找到当前连接的列表
  • 同样,您可以在各自的选项卡上找到渠道和交换。

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

(0)

相关推荐