RabbitMQ是一个免费的开源企业消息代理软件。 它是用Erlang编写的,并实现了高级消息队列协议(AMQP)。 它提供所有主要编程语言的客户端库。 它支持多种消息传递协议,消息队列,传送确认,灵活的路由到队列,多种交换类型。 它还提供易于使用的HTTP-API,命令行工具和用于管理RabbitMQ的Web UI;
在当前文档中,我们将在CentOS 7服务器上安装RabbitMQ。
注意:erlang-24.x
已经不支持 CentOS7
了
rpm
安装
安装 RabbitMQ
需要安装Erlang
。
Erlang
:https://github.com/rabbitmq/erlang-rpm/releases
RabbitMQ
:https://github.com/rabbitmq/rabbitmq-server/releases
RabbitMQ
与Erlang
版本对应关系 https://www.rabbitmq.com/which-erlang.html
我这里下载了
1 2 3 4 5 6 7 8
| # 安装依赖 rpm -ivh openssl-libs-1.0.2k-25.el7_9.x86_64.rpm --force # 安装环境 rpm -ivh erlang-22.3.4.21-1.el7.x86_64.rpm # 验证erlang 是否安装成功 erl -version # 安装 RabbitMQ rpm -ivh rabbitmq-server-3.9.15-1.el7.noarch.rpm
|
配置启动
安装web管理界面
1 2 3
| sudo rabbitmq-plugins enable rabbitmq_management
sudo rabbitmq-plugins list
|
启动
1 2 3 4 5 6
| systemctl enable rabbitmq-server
systemctl start rabbitmq-server
systemctl restart rabbitmq-server
|
配置文件
1
| vim /etc/rabbitmq/rabbitmq.config
|
安装好之后在/usr/share/doc/rabbitmq-server-3.6.15/
有参考模板rabbitmq.config.example
配置端口,备注:消息端口5672
,则web访问端口为 15672
1 2 3 4 5 6 7 8
| [ {rabbit, [ {loopback_users, []}, {tcp_listeners, [5672]} ] } ]
|
参考模板
其它管理
用户管理
1 2 3 4 5 6 7 8 9 10 11 12
| sudo rabbitmqctl list_users sudo rabbitmqctl change_password guest guest
sudo rabbitmqctl add_user maxzhao maxzhao
sudo rabbitmqctl set_user_tags maxzhao administrator
sudo rabbitmqctl set_permissions -p / maxzhao ".*" ".*" ".*"
|
添加vhost
1 2 3 4 5 6 7 8 9 10 11
| sudo rabbitmqctl --help
sudo rabbitmqctl add_vhost --help
sudo rabbitmqctl add_vhost maxzhao_vhost
sudo rabbitmqctl list_vhosts
sudo rabbitmqctl set_permissions -p /maxzhao_vhost maxzhao ".*" ".*" ".*"
|
删除 vhost
1 2
| sudo rabbitmqctl add_vhost maxzhaoTest sudo rabbitmqctl delete_vhost maxzhaoTest
|
Yum
安装
安装Erlang
RabbitMQ是用Erlang语言编写的,在本教程中我们将安装最新版本的Erlang到服务器中。 Erlang在默认的YUM存储库中不可用,因此您将需要安装EPEL存储库。 运行以下命令相同。
1 2
| yum -y install epel-release yum -y update
|
现在使用以下命令安装Erlang。
1
| yum -y install erlang socat logrotate
|
您现在可以使用以下命令检查Erlang版本。
您将得到以下输出。
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
1
| wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.0/rabbitmq-server-3.9.0-1.el7.noarch.rpm
|
这里可以随时找到最新版本的RabbitMQ下载页面的链接。
通过运行导入GPG密钥:
1 2 3 4 5 6
| rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
rpm --import https://packagecloud.io/rabbitmq/erlang/gpgkey
rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
|
安装MQ
1
| rpm -Uvh rabbitmq-server-3.9.0-1.el7.noarch.rpm
|
启动
您可以通过运行以下命令启动RabbitMQ服务器进程。
1
| systemctl start rabbitmq-server
|
要在引导时自动启动RabbitMQ,请运行以下命令。
1
| systemctl enable rabbitmq-server
|
要检查RabbitMQ服务器的状态,请运行:
1
| systemctl status rabbitmq-server
|
安装
1 2
| yum install socat logrotate -y yum install erlang rabbitmq-server -y
|
附
rabbitmq.repo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| ## ## Zero dependency Erlang ##
[rabbitmq_erlang] name=rabbitmq_erlang baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch repo_gpgcheck=1 gpgcheck=1 enabled=1 # PackageCloud's repository key and RabbitMQ package signing key gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300
[rabbitmq_erlang-source] name=rabbitmq_erlang-source baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/SRPMS repo_gpgcheck=1 gpgcheck=0 enabled=1 gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300
## ## RabbitMQ server ##
[rabbitmq_server] name=rabbitmq_server baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/$basearch repo_gpgcheck=1 gpgcheck=1 enabled=1 # PackageCloud's repository key and RabbitMQ package signing key gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300
[rabbitmq_server-source] name=rabbitmq_server-source baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/SRPMS repo_gpgcheck=1 gpgcheck=0 enabled=1 gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300
|
离线安装获取全部依赖
1 2 3 4
| mkdir ~/docker sudo yum install --downloadonly --downloaddir=/home/maxzhao/erlang/ erlang sudo yum install --downloadonly --downloaddir=/home/maxzhao/rabbitmq/ rabbitmq-server sudo yum localinstall /home/maxzhao/erlang/*.rpm
|
已经安装可以使用 reinstall
本文地址: https://github.com/maxzhao-it/blog/post/21590/