在CentOS7上安装RabbitMQ服务器

纯手工打造每一篇开源资讯与技术干货,数十万程序员和Linuxer已经关注。

Linux技术交流群:(九月份最新!!)

导读RabbitMQ是一个免费的开源企业消息代理软件。 它是用Erlang编写的,并实现了高级消息队列协议(AMQP)。 它提供所有主要编程语言的客户端库。 它支持多种消息传递协议,消息队列,传送确认,灵活的路由到队列,多种交换类型。 它还提供易于使用的HTTP-API,命令行工具和用于管理RabbitMQ的Web UI;在本教程中,我们将在CentOS 7服务器上安装RabbitMQ。

条件

最小CentOS 7服务器

根权限 本指南以root用户身份编写,如果以sudo用户身份登录,请运行sudo -i 。

更新基本系统

在安装任何软件包之前,建议您使用以下命令更新软件包和存储库。

yum -y update

更新系统后,进一步安装Erlang。

安装Erlang

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

yum -y install epel-releaseyum -y update

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

yum -y install erlang socat

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

erl -version

您将得到以下输出。

[root@liptan-pc ~]# erl -versionErlang (ASYNC_THREADS,HIPE) (BEAM) emulator version 5.10.4

要切换到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。

安装RabbitMQ

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

wget

如果你没有安装wget ,可以运行yum -y install wget 。 您可以随时找到最新版本的RabbitMQ下载页面的链接。

通过运行导入GPG密钥:

rpm –import

运行RPM安装RPM包:

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

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

开始RabbitMQ

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

systemctl start rabbitmq-server

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

systemctl enable rabbitmq-server

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

systemctl status rabbitmq-server

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

? rabbitmq-server.service - RabbitMQ broker   Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: disabled)   Active: active (running) since Sat 2017-07-15 18:59:14 UTC; 3min 22s ago Main PID: 29006 (beam.smp)   Status: "Initialized"   CGroup: /system.slice/rabbitmq-server.service           ??29006 /usr/lib64/erlang/erts-9.0/bin/beam.smp -W w -A 64 -P-t-stbt db -zdbbl 32000 -K tr...           ??29149 /usr/lib64/erlang/erts-9.0/bin/epmd -daemon           ??29283 erl_child_setup 1024           ??29303 inet_gethost 4           ??29304 inet_gethost 4Jul 15 18:59:13 centos rabbitmq-server[29006]: Starting broker...Jul 15 18:59:14 centos rabbitmq-server[29006]: systemd unit for activation check: "rabbitmq-server.service"Jul 15 18:59:14 centos systemd[1]: Started RabbitMQ broker.Jul 15 18:59:14 centos rabbitmq-server[29006]: completed with 0 plugins.

修改防火墙和SELinux规则

如果您已安装并运行防火墙 ,则必须通过防火墙允许端口8161。 运行以下命令相同。

firewall-cmd –zone=public –permanent –add-port=4369/tcpfirewall-cmd –zone=public –permanent –add-port=25672/tcpfirewall-cmd –zone=public –permanent –add-port=5671-5672/tcpfirewall-cmd –zone=public –permanent –add-port=15672/tcpfirewall-cmd –zone=public –permanent –add-port=61613-61614/tcpfirewall-cmd –zone=public –permanent –add-port=1883/tcpfirewall-cmd –zone=public –permanent –add-port=8883/tcp

firewall-cmd –reload

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

setsebool -P nis_enabled 1

访问Web控制台

启动RabbitMQ Web管理控制台,方法是运行:

rabbitmq-plugins enable rabbitmq_management

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

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

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

rabbitmqctl add_user admin StrongPasswordrabbitmqctl set_user_tags admin administratorrabbitmqctl set_permissions -p / admin “.*” “.*” “.*”

将管理员更改为管理员用户的首选用户名。 确保将StrongPassword更改为非常强大的密码。

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

:15672/

您将看到以下登录页面。

登录后,您将看到管理信息中心。

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

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

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

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

结论

您现在可以轻松地在进程,服务器和客户端之间安装RabbitMQ进行消息排队。 要了解有关RabbitMQ的更多信息,可以浏览RabbitMQ站点。

原文来自:  

本文地址:  编辑:岳永,审核员:逄增宝

让您学习到的每一节课都有所收获

《Linux就该这么学》是由资深运维专家刘遄及全国多名红帽架构师(RHCA)基于最新RHEL7系统共同编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材。

☀ 刘遄老师:  :gnu_chuan

☀ 学员助教:

☀ Linux技术交流A群(满):

☀ Linux技术交流B群:

☀ Linux技术交流C群:

☀ Linux技术交流D群:

☀ Linux技术交流E群:

☀ Linux技术交流F群:

☀ Linux技术交流G群:(新群,火热加群中……)

☀ 官方站点:www.linuxprobe.com

☀ 电脑在线阅读效果更佳:

按住图片3秒,即可自动关注。

点击左下角查看更多热门技术