RabbitMQ的安装

傻男人 1年前 ⋅ 716 阅读

安装RabbitMQ

docker的安装方式

一、进入docker hub官网

二、搜索rabbitMq,进入官方的镜像,选择带有“mangement”的版本(包含web管理页面):后面以rabbitmq:3.7.7-management这个版本为例

三、拉取镜像

docker pull rabbitmq:3.7.7-management

四、根据下载的镜像创建和启动容器

mkdir -p /home/data/rabbitmq

docker run -d --name rabbitmq_3.10.7 --restart=always -p 5672:5672 -p 15672:15672 \
--hostname rabbitmq \
-e RABBITMQ_DEFAULT_VHOST=/ \
-e RABBITMQ_DEFAULT_USER=txcf \
-e RABBITMQ_DEFAULT_PASS=txcf1234 \
-v /home/data/rabbitmq:/var/lib/rabbitmq \
rabbitmq:3.10.7-management

yum的安装方式

更新基本系统

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

yum -y update

安装Erlang

一、安装EPEL存储库

由于RabbitMQ是基于Erlang(面向高并发的语言)语言开发,所以在安装RabbitMQ之前,需要先安装Erlang。在本教程中我们将安装最新版本的Erlang到服务器中。 Erlang在默认的YUM存储库中不可用,因此您将需要安装EPEL存储库。 运行以下命令相同。

yum -y install epel-release;
yum -y update;

二、安装Erlang

yum -y install erlang socat;

三、检查Erlang版本。

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

安装RabbitMQ

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

一、下载RabbitMQ

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下载页面的链接。

二、安装RabbitMQ

1)、通过运行导入GPG密钥:
rpm –import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
2)、运行RPM安装RPM包:
rpm -Uvh rabbitmq-server-3.6.10-1.el7.noarch.rpm

RabbitMQ现已经安装在系统上。

3)、使用RabbitMQ
运行
systemctl start rabbitmq-server
开机自启
systemctl enable rabbitmq-server
检查状态
systemctl status rabbitmq-server
停止
rabbitmqctl stop

访问Web控制台

4)、启动RabbitMQ Web管理控制台,方法是运行:
启动web访问
rabbitmq-plugins enable rabbitmq_management
关闭web访问
rabbitmq-plugins disable rabbitmq_management

创建用户

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

rabbitmqctl add_user userName password;  #添加用户
rabbitmqctl set_user_tags userName target[标记];  --monitoring监控人员administrator系统管理人员management管理人员
rabbitmqctl set_permissions -p /  userName ".*" ".*" ".*"; #给用户资源权限
$sudo rabbitmqctl set_permissions -p /vhost1  user_admin '.*' '.*' '.*'  
该命令使用户user_admin具有/vhost1这个virtual host中所有资源的配置、写、读权限以便管理其中的资源
将管理员更改为userName用户的首选用户名。 确保将password更改为非常强大的密码。

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

http://Your_Server_IP:15672/

安装延迟队列插件

下载插件

下载与安装的Rabbitmq匹配的插件,选择适合版本

rabbitmq-delayed-message-exchange

安装

上传到服务
#拷贝到rabbitmq容器 a63 中
[root@worker10-152 ~]# docker cp rabbitmq_delayed_message_exchange-3.8.0.ez a63:/plugins
#进入rabbitmq容器
[root@worker10-152 ~]# docker exec -it a63 /bin/bash
#进入/plugins目录检查插件是否上传到容器中
root@a63a1b22b4a3:/# cd plugins
root@a63a1b22b4a3:/plugins# ls
README                   cowlib-2.9.1.ez                   jsx-3.1.0.ez                rabbitmq_auth_backend_cache-3.8.21.ez        rabbitmq_event_exchange-3.8.21.ez         rabbitmq_peer_discovery_common-3.8.21.ez    rabbitmq_sharding-3.8.21.ez           rabbitmq_web_mqtt-3.8.21.ez            sysmon_handler-1.3.0.ez
accept-0.3.5.ez          credentials_obfuscation-2.4.0.ez  lager-3.9.2.ez              rabbitmq_auth_backend_http-3.8.21.ez         rabbitmq_federation-3.8.21.ez             rabbitmq_peer_discovery_consul-3.8.21.ez    rabbitmq_shovel-3.8.21.ez             rabbitmq_web_mqtt_examples-3.8.21.ez
amqp10_client-3.8.21.ez  cuttlefish-3.0.0.ez               observer_cli-1.6.2.ez       rabbitmq_auth_backend_ldap-3.8.21.ez         rabbitmq_federation_management-3.8.21.ez  rabbitmq_peer_discovery_etcd-3.8.21.ez      rabbitmq_shovel_management-3.8.21.ez  rabbitmq_web_stomp-3.8.21.ez
amqp10_common-3.8.21.ez  eetcd-0.3.3.ez                    prometheus-4.6.0.ez         rabbitmq_auth_backend_oauth2-3.8.21.ez       rabbitmq_jms_topic_exchange-3.8.21.ez     rabbitmq_peer_discovery_k8s-3.8.21.ez       rabbitmq_stomp-3.8.21.ez              rabbitmq_web_stomp_examples-3.8.21.ez
amqp_client-3.8.21.ez    gen_batch_server-0.8.4.ez         ra-1.1.8.ez                 rabbitmq_auth_mechanism_ssl-3.8.21.ez        rabbitmq_management-3.8.21.ez             rabbitmq_prelaunch-3.8.21.ez                rabbitmq_top-3.8.21.ez                ranch-2.0.0.ez
aten-0.5.5.ez            goldrush-0.1.9.ez                 rabbit-3.8.21.ez            rabbitmq_aws-3.8.21.ez                       rabbitmq_management_agent-3.8.21.ez       rabbitmq_prometheus-3.8.21.ez               rabbitmq_tracing-3.8.21.ez            recon-2.5.1.ez
base64url-1.0.1.ez       gun-1.3.3.ez                      rabbit_common-3.8.21.ez     rabbitmq_consistent_hash_exchange-3.8.21.ez  rabbitmq_mqtt-3.8.21.ez                   rabbitmq_random_exchange-3.8.21.ez          rabbitmq_trust_store-3.8.21.ez        stdout_formatter-0.2.4.ez
cowboy-2.8.0.ez          jose-1.11.1.ez                    rabbitmq_amqp1_0-3.8.21.ez  rabbitmq_delayed_message_exchange-3.8.0.ez   rabbitmq_peer_discovery_aws-3.8.21.ez     rabbitmq_recent_history_exchange-3.8.21.ez  rabbitmq_web_dispatch-3.8.21.ez       syslog-3.4.5.ez
#启用插件
root@a63a1b22b4a3:/plugins# rabbitmq-plugins enable rabbitmq_delayed_message_exchange
Enabling plugins on node rabbit@a63a1b22b4a3:
rabbitmq_delayed_message_exchange
The following plugins have been configured:
  rabbitmq_delayed_message_exchange
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_prometheus
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@a63a1b22b4a3...
The following plugins have been enabled:
  rabbitmq_delayed_message_exchange

started 1 plugins.
root@a63a1b22b4a3:/plugins# exit
exit
#重启容器
[root@worker10-152 ~]# docker restart a63
a63


全部评论: 0

    我有话说: