做外贸的怎么建立自己的网站,西安响应式网站建设,注册公司的条件和费用,网站后台排版目录 1 简介1.1特性及好处 2 安装2.1 Ubuntu22.04 apt安装最新rabbitmq1、一键部署2、验证3、RabbitMQWeb管理界面及授权操作4、添加远程用户5、一些常用命令 2.2 Docker安装RabbitMQ - Ubuntu22.041、安装docker2、启动rabbitmq 1 简介
RabbitMQ是一个开源的遵循AMQP协议实现… 目录 1 简介1.1特性及好处 2 安装2.1 Ubuntu22.04 apt安装最新rabbitmq1、一键部署2、验证3、RabbitMQWeb管理界面及授权操作4、添加远程用户5、一些常用命令 2.2 Docker安装RabbitMQ - Ubuntu22.041、安装docker2、启动rabbitmq 1 简介
RabbitMQ是一个开源的遵循AMQP协议实现的基于Erlang语言编写支持多种客户端语言用于在分布式系统中存储消息转发消息具有高可用高可扩性易用性等特征。
1.1特性及好处
好处
开源平台和供应商无关性——作为实现了具有平台和供应商无关性的高级消息队列协议Advanced Message Queuing ProtocolAMQP规范的一种消息代理服务器RabbitMQ为几乎全部开发语言提供了客户端工具并能运行在所有主流计算机平台上。轻量级——RabbitMQ是轻量级的面向大多数现代语言的客户端开发库——RabbitMQ可以实现不同的开发语言之间进行跨操作系统和环境的数据共享灵活控制消息通信的平衡性——主要体现在消息吞吐量和性能上高延迟性环境插件——RabbitMQ既支持在低延迟环境下的消息通信机制也提供了针对如互联网的高延迟环境下的插件。这就使得RabbitMQ可以在同一个本地网络或者在跨越多个数据中心的共享互联federated机制下构建消息集群。多层安全——在RabbitMQ的多个层次中包含着安全性设计。客户端连接可以通过使用SSL通信和客户端证书验证以提高安全性。在虚拟主机virtual-host层可以管理用户访问从而在较高层次实现消息和资源的隔离。另外通过配置可以使用正则表达式模式匹配的方式控制从队列中读取消息和把消息写入交换器的过程。最后使用插件可与类似LDAP的外部认证系统进行集成。
RabbitMQ中的两个最基本的特性实现语言Erlang和所基于的模型高级消息队列模型
2 安装
参考https://www.rabbitmq.com/install-debian.html
2.1 Ubuntu22.04 apt安装最新rabbitmq
RabbitMQ需要Erlang/OTP才能运行。标准Debian和Ubuntu存储库中的Erlang/OTP包可能过时并且不受现代RabbitMQ版本的支持。 最新的Erlang/OTP版本系列可以从许多替代的apt存储库中获得。此处使用的是cloudsmith中的rabbitmq apt库
1、一键部署
vim install_cloudsmith.sh#!/bin/sh# 安装基本依赖项
# apt-transport-https启用apt HTTPS传输
# 为了让apt能够从Cloudsmith下载RabbitMQ和Erlang包, apt-transport-https包必须安装:
sudo apt-get install curl gnupg apt-transport-https -y# 添加key
## Team RabbitMQs main signing key
curl -1sLf https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg /dev/null
## Community mirror of Cloudsmith: modern Erlang repository
curl -1sLf https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg /dev/null
## Community mirror of Cloudsmith: RabbitMQ repository
curl -1sLf https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/rabbitmq.9F4587F226208342.gpg /dev/null# 配置RabbitMQ源
# 此处需要注意jammy对应的是ubuntu22.04不同系统的版本号不同根据自己系统进行配置具体对应关系在方图中
## Add apt repositories maintained by Team RabbitMQ
sudo tee /etc/apt/sources.list.d/rabbitmq.list EOF
## Provides modern Erlang/OTP releases
##
deb [signed-by/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu jammy main
deb-src [signed-by/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu jammy main# another mirror for redundancy
deb [signed-by/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu jammy main
deb-src [signed-by/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu jammy main## Provides RabbitMQ
##
deb [signed-by/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu jammy main
deb-src [signed-by/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu jammy main# another mirror for redundancy
deb [signed-by/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu jammy main
deb-src [signed-by/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu jammy main
EOF# 更新源
## Update package indices
sudo apt-get update -y# 安装Erlang包
# RabbitMQ是采用 Erlang语言开发的所以系统环境必须提供 Erlang环境需要是安装 Erlang
## Install Erlang packages
sudo apt-get install -y erlang-base \erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets \erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key \erlang-runtime-tools erlang-snmp erlang-ssl \erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl# 安装rabbitmq
## Install rabbitmq-server and its dependencies
sudo apt-get install rabbitmq-server -y --fix-missing不同系统的版本号不同根据需要进行配置
2、验证
# 可以查看Erlang版本
erl -v
######输出#####
Erlang/OTP 24 [erts-12.2.1] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [jit]Eshell V12.2.1 (abort with ^G)
1#
systemctl status rabbitmq-server.service3、RabbitMQWeb管理界面及授权操作
默认情况下rabbitmq没有安装web端的客户端软件需要安装才可以生效
# 打开RabbitMQWeb管理界面插件
rabbitmq-plugins enable rabbitmq_management
# 管理界面的默认端口是15672
# 启动之后直接访问ip:port######## 以下是输出内容
Enabling plugins on node rabbitcon02:
rabbitmq_management
The following plugins have been configured:rabbitmq_managementrabbitmq_management_agentrabbitmq_web_dispatch
Applying plugin configuration to rabbitcon02...
The following plugins have been enabled:rabbitmq_managementrabbitmq_management_agentrabbitmq_web_dispatchrabbitmqrabbitmq有一个默认的账号密码guest但该情况仅限于本机localhost进行访问所以需要添加一个远程登录的用户
4、添加远程用户
# 添加用户
# rabbitmqctl add_user 用户名 密码
rabbitmqctl add_user admin 12345# 设置用户角色,分配操作权限
# rabbitmqctl set_user_tags 用户名 角色
rabbitmqctl set_user_tags admin administrator# 为用户添加资源权限(授予访问虚拟机根节点的所有权限)
# rabbitmqctl set_permissions -p / 用户名 .* .* .*
rabbitmqctl set_permissions -p / admin .* .* .*#角色有四种
# administrator
# monToring
# policymaker
# managment此处创建一个admin用户角色为 administrator拥有所有权限
创建完成之后即可用该用户进行前台登录
5、一些常用命令
# 添加用户
rabbitmqctl add_user 用户名 密码# 设置用户角色,分配操作权限
rabbitmqctl set_user_tags 用户名 角色# 为用户添加资源权限(授予访问虚拟机根节点的所有权限)
rabbitmqctl set_permissions -p / 用户名 .* .* .*# 修改密码
rabbitmqctl change_ password 用户名 新密码# 删除用户
rabbitmqctl delete_user 用户名# 查看用户清单
rabbitmqctl list_users# 查看帮助
rabbitmqctl help set_permissions2.2 Docker安装RabbitMQ - Ubuntu22.04
1、安装docker
# 更新
sudo apt update# 安装必要的证书并允许 apt 包管理器使用以下命令通过 HTTPS 使用存储库
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release# 运行下列命令添加 Docker 的官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg# 添加 Docker 官方库
echo deb [arch$(dpkg --print-architecture) signed-by/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null# 更新 Ubuntu 源列表
sudo apt update# 安装指定版本的docker
# 检查可以安装的docker版本库
apt-cache madison docker-ce# 挑选上面列表中的任何版本进行安装
sudo apt install docker-ce5:20.10.16~3-0~ubuntu-jammy docker-ce-cli5:20.10.16~3-0~ubuntu-jammy containerd.io -yq# 查看docker是否运行
systemctl status docker# 查看版本
docker version# 添加镜像加速
cat /etc/docker/daemon.json EOF
{exec-opts: [native.cgroupdriversystemd],log-driver: json-file,log-opts: {max-size: 100m},storage-driver: overlay2,storage-opts: [overlay2.override_kernel_checktrue],registry-mirrors: [https://uyah70su.mirror.aliyuncs.com]
}
EOFsystemctl restart docker
systemctl status docker2、启动rabbitmq
# latest RabbitMQ 3.12
docker run -itd --rm --name rabbitmq -e RABBITMQ_DEFAULT_USERadmin -e RABBITMQ_DEFAULT_PASS12345 -p 5672:5672 -p 15672:15672 rabbitmq:3.12-management# -e RABBITMQ_DEFAULT_USER设置环境变量用户名
# -e RABBITMQ_DEFAULT_PASS设置环境变量密码
# -p hostPort:containerdPort主机端口容器端口登录前台页面ip:15672用户名/密码admin/12345