RabbitMQ是一款免费开源的企业消息代理软件。它是用Erlang编写的,实现了高级消息排队协议(AMQP)。它提供所有主要编程语言的客户端库。它支持多种消息传递协议、消息队列、传递确认、灵活的队列路由、多种交换类型。它还提供了易于使用的HTTP-API、命令行工具和用于管理RabbitMQ的web UI。
在本教程中,我们将在CentOS 7服务器上安装RabbitMQ。
先决条件
最小CentOS 7服务器
Root权限。本指南以root用户身份编写,如果您以sudo用户身份登录,请运行sudo-i。
更新基础系统
在安装任何软件包之前,建议您使用以下命令更新软件包和存储库。
yum -y update
更新系统后,继续安装Erlang。
安装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@liptan-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] [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 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 -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 1048576 -t 5000000 -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 4
Jul 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/tcp
firewall-cmd --zone=public --permanent --add-port=25672/tcp
firewall-cmd --zone=public --permanent --add-port=5671-5672/tcp
firewall-cmd --zone=public --permanent --add-port=15672/tcp
firewall-cmd --zone=public --permanent --add-port=61613-61614/tcp
firewall-cmd --zone=public --permanent --add-port=1883/tcp
firewall-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 StrongPassword
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
将admin更改为管理员用户的首选用户名。请确保将StrongPassword更改为非常强的密码。
要访问RabbitMQ的管理面板,请使用您最喜欢的web浏览器并打开以下URL。
http://Your_Server_IP:15672/
您将看到以下登录页面。
登录后,您将看到管理仪表板。
您可以在仪表板的“管理”选项卡上找到用户、虚拟主机和策略的列表。出于安全考虑,您应该删除Guest用户。
您可以在队列选项卡中找到消息队列列表。您可以通过此界面创建新队列或删除现有队列。
您可以在“连接”选项卡上找到当前连接的列表
同样,您可以在各自的选项卡上找到渠道和交易所。
结论
现在,您可以轻松安装RabbitMQ,以便在进程、服务器和客户端之间进行消息排队。要了解更多关于RabbitMQ的信息,您可以浏览RabbitMQ网站。
暂无评论内容