RabbitMQ的安装
RabbitMQ的安装
1、Windows环境下的RabbitMQ安装步骤
使用的版本:otp_win64_23.2 + rabbitmq-server-3.8.16
版本说明:https://www.rabbitmq.com/which-erlang.html#compatibility-matrix
1.1 下载并安装erlang
RabbitMQ 服务端代码是使用并发式语言 Erlang 编写的,安装 RabbitMQ 的前提是安装 Erlang。
下载地址:
http://www.erlang.org/downloads
https://www.erlang.org/patches/otp-23.2
根据操作系统选择 erlang 下载版本。
下载完的软件包:
双击软件点击下一步进行安装,和平时使用的软件的安装方式是一样的。
安装完之后配置环境变量,此电脑–>鼠标右键属性–>高级系统设置–>环境变量–>新建系统环境变量。
变量名:ERLANG_HOME
变量值就是刚才 erlang 的安装地址,点击确定。
然后编辑系统变量 path,将 %ERLANG_HOME%\bin
加入到 path 中。
最后 windows 键 +R 键,输入 cmd,再输入 erl,看到版本号就说明 erlang 安装成功了。
1.2 下载并安装RabbitMQ
下载地址:http://www.rabbitmq.com/download.html
这里下载 v3.8.16
版本:
https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.8.16
https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.16/rabbitmq-server-3.8.16.exe
双击下载后的 .exe 文件,安装过程与 erlang 的安装过程相同。
RabbitMQ 安装目录中是不允许有空格的。
RabbitMQ 安装好后接下来安装 RabbitMQ-Plugins
,打开命令行 cd,输入 RabbitMQ 的 sbin 目录。
我的目录是:C:\zsxsoftware\rabbitmq\rabbitmq_server-3.8.16\sbin
然后在后面输入 rabbitmq-plugins enable rabbitmq_management
命令进行安装:
输入 rabbitmqctl status
,如果出现以下的图,说明安装是成功的,并且说明现在 RabbitMQ Server 已经启动
了,运行正常。
打开 sbin 目录,双击 rabbitmq-server.bat
等几秒钟看到这个界面后,访问 http://localhost:15672
然后可以看到如下界面:
默认用户名和密码都是 guest,登陆即可:
1.3 安装遇到的问题
rabbitmq-plugins enable rabbitmq_management
命令执行错误:
rabbitmq-service stop
rabbitmq-service remove
rabbitmq-service install
rabbitmq-plugins enable rabbitmq_management
rabbitmqctl status
命令执行错误:
Error: unable to perform an operation on node 'rabbit@DESKTOP-8VB0JLG'. Please see diagnostics information and suggestions below.
1、将C:\Users\{用户名}\.erlang.cookie
复制到 C:\Windows\System32\config\systemprofile
目录。
2、重启 rabbitMQ 服务。
1.4 配置允许远程访问
更多情况下,队列服务往往不在我们本机上,我们需要远程来控制 RabbitMQ,但是默认是无法通过
http://hostname:15672
来访问的:
添加一个新的用户:
点击 zsx242030
用户:
点击 set permission
赋予权限。
使用 rabbitmqctl list_users
查看用户信息:
然后使用新建的用户尝试登录:
1.5 RabbitMQ常用的命令
# 停止服务
rabbitmq-service stop
# 安装服务
rabbitmq-service install
# 开启服务
rabbitmq-service start
# 查看用户信息
rabbitmqctl list_users
# guest密码忘记,更改密码
rabbitmqctl change_password guest guest
# 设置用户为超级管理员
rabbitmqctl set_user_tags guest administrator
# 赋予权限
rabbitmqctl set_permissions -p / guest '.*' '.*' '.*'
2、Linux环境下的RabbitMQ安装步骤
使用的版本:otp_src_22.3.tar.gz + rabbitmq-server-generic-unix-3.7.15.tar.xz
2.1 安装erlang
由于 rabbitmq 是基于 erlang 语言开发的,所以必须先安装 erlang。
安装依赖:
$ yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel
去 erlang 官网下载安装包上传到 linux 服务器。
https://www.erlang.org/downloads
或者使用 wget 命令下载:
$ wget http://erlang.org/download/otp_src_22.3.tar.gz
解压:
$ tar -zxvf otp_src_22.3.tar.gz
移走:
$ mv otp_src_22.3 /usr/local/
切换目录:
$ cd /usr/local/otp_src_22.3/
创建即将安装的目录:
$ mkdir ../erlang
配置安装路径:
$ ./configure --prefix=/usr/local/erlang
如果遇到这个错你就假装没看到:
安装:
$ make install
查看一下是否安装成功:
$ ll /usr/local/erlang/bin
添加环境变量:
$ echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile
刷新环境变量:
$ source /etc/profile
甩一条命令:
$ erl
在里面输入 halt(). 命令退出来(那个点号别忘记)
2.2 安装RabbitMQ
使用下面命令下载 rabbitmq 或者是下载好之后上传到 linux 服务器。
$ wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.15/rabbitmq-server-generic-unix-3.7.15.tar.xz
由于是 tar.xz 格式的所以需要用到 xz,没有的话就先安装:
$ yum install -y xz
第一次解压:
$ /bin/xz -d rabbitmq-server-generic-unix-3.7.15.tar.xz
第二次解压:
$ tar -xvf rabbitmq-server-generic-unix-3.7.15.tar
移走:
$ mv rabbitmq_server-3.7.15/ /usr/local/
改名:
$ mv /usr/local/rabbitmq_server-3.7.15 /usr/local/rabbitmq
配置环境变量
$ echo 'export PATH=$PATH:/usr/local/rabbitmq/sbin' >> /etc/profile
刷新环境变量
$ source /etc/profile
2.3 启动
启动:
$ rabbitmq-server -detached
编辑 /etc/hosts
文件,在文件的末尾加一条 127.0.0.1 zsx
即可。
重新启动:
状态:
$ rabbitmqctl status
停止:
$ rabbitmqctl stop
2.4 WEB管理
开启web插件
$ rabbitmq-plugins enable rabbitmq_management
开放 15672 端口:
# 查看开放的端口号
firewall-cmd --list-all
# 设置开放的端口号
firewall-cmd --add-port=15672/tcp --permanent
# 重启防火墙
firewall-cmd --reload
访问:http://192.168.94.186:15672/
默认账号密码(这个账号只允许本机访问):guest/guest
2.5 用户管理
查看所有用户:
$ rabbitmqctl list_users
添加一个用户:
$ rabbitmqctl add_user zsx242030 zsx242030
配置权限:
$ rabbitmqctl set_permissions -p "/" zsx242030 ".*" ".*" ".*"
查看用户权限:
$ rabbitmqctl list_user_permissions zsx242030
设置 tag:
$ rabbitmqctl set_user_tags zsx242030 administrator
删除用户(安全起见,删除默认用户)
$ rabbitmqctl delete_user guest
2.6 登陆
配置好用户之后然后就可以用新账号进行登陆:
3、Docker安装RabbitMQ
3.1 搜索镜像
$ docker search rabbitmq
3.2 拉取镜像
$ docker pull rabbitmq:3.7.15
3.3 启动运行
$ docker run -d -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin --hostname myRabbit --name rabbitmq --restart=always rabbitmq:3.7.15
参数说明:
-d
:表示在后台运行容器;
-p
:将容器的端口 5672(应用访问端口)和15672(控制台Web端口号)映射到主机中;
-e
:指定环境变量:
-
RABBITMQ_DEFAULT_VHOST
:默认虚拟机名; -
RABBITMQ_DEFAULT_USER
:默认的用户名; -
RABBITMQ_DEFAULT_PASS
:默认的用户密码;
--hostname
:指定主机名(RabbitMQ 的一个重要注意事项是它根据所谓的节点名称存储数据,默认为主机名);
--name
:设置容器名称;
rabbitmq:3.7.15
:容器使用的镜像名称;
3.4 查看启动情况
$ docker logs -f rabbitmq
$ docker ps -l
3.5 启动 rabbitmq_management
$ docker exec -it rabbitmq /bin/bash
$ rabbitmq-plugins enable rabbitmq_management
或者是通过下面命令:
$ docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_management
3.6 访问 RabbitMQ后台管理
浏览器输入地址:http://192.168.94.186:15672/
即可访问后台管理页面,这里的 ip 为运行 RabbitMQ 所
在的服务器的 IP 地址。
默认的用户名和密码都是 guest (如果没有在容器创建的时候指定用户名密码)。
但由于我们启动的时候设置了默认的用户名和密码,所以我们可以使用设置的用户名和密码登录。
4、镜像集群搭建
4.1 搭建环境
IP | 主机 |
---|---|
192.168.54.200 | master |
192.168.54.201 | slave1 |
192.168.54.202 | slave2 |
$ vi /etc/hosts
192.168.54.200 master
192.168.54.201 slave1
192.168.54.202 slave2
使用的版本:otp_src_22.3.tar.gz + rabbitmq-server-generic-unix-3.7.15.tar.xz
4.2 安装erlang(所有机器)
由于 rabbitmq 是基于 erlang 语言开发的,所以必须先安装 erlang。
安装依赖:
$ yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel
去 erlang 官网下载安装包上传到 linux 服务器:
http://erlang.org/download/otp_src_22.3.tar.gz
解压:
$ tar -zxvf otp_src_22.3.tar.gz
移走:
$ mv otp_src_22.3 /usr/local/
切换目录:
$ cd /usr/local/otp_src_22.3/
创建即将安装的目录:
$ mkdir ../erlang
配置安装路径:
$ ./configure --prefix=/usr/local/erlang
安装:
$ make install
查看一下是否安装成功:
$ ll /usr/local/erlang/bin
添加环境变量:
$ echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile
刷新环境变量:
$ source /etc/profile
甩一条命令:
$ erl
在里面输入 halt(). 命令退出来(那个点号别忘记)
4.3 安装RabbitMQ(所有机器)
将下载好之后的软件上传到 linux 服务器:
https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.15/rabbitmq-server-generic-unix-3.7.15.tar.xz
由于是 tar.xz 格式的所以需要用到 xz,没有的话就先安装:
$ yum install -y xz
第一次解压:
$ /bin/xz -d rabbitmq-server-generic-unix-3.7.15.tar.xz
第二次解压:
$ tar -xvf rabbitmq-server-generic-unix-3.7.15.tar
移走:
$ mv rabbitmq_server-3.7.15/ /usr/local/
改名:
$ mv /usr/local/rabbitmq_server-3.7.15 /usr/local/rabbitmq
配置环境变量:
$ echo 'export PATH=$PATH:/usr/local/rabbitmq/sbin' >> /etc/profile
刷新环境变量:
$ source /etc/profile
启动:
$ rabbitmq-server -detached
查看启动状态:
$ ps -ef | grep rabbitmq
状态:
$ rabbitmqctl status
停止:
$ rabbitmqctl stop
4.4 WEB管理(所有机器)
开启 web 插件:
$ rabbitmq-plugins enable rabbitmq_management
开放 15672 端口:
# 查看开放的端口号
firewall-cmd --list-all
# 设置开放的端口号
firewall-cmd --add-port=15672/tcp --permanent
# 重启防火墙
firewall-cmd --reload
访问:http://ip:15672/
默认账号密码(这个账号只允许本机访问):guest/guest
4.5 用户管理(所有机器)
查看所有用户:
$ rabbitmqctl list_users
添加一个用户:
$ rabbitmqctl add_user zsx242030 zsx242030
配置权限:
$ rabbitmqctl set_permissions -p "/" zsx242030 ".*" ".*" ".*"
查看用户权限:
$ rabbitmqctl list_user_permissions zsx242030
设置 tag:
$ rabbitmqctl set_user_tags zsx242030 administrator
删除用户(安全起见,删除默认用户)
$ rabbitmqctl delete_user guest
4.6 镜像模式集群的搭建
4.6.1 停止RabbitMQ服务(所有机器)
$ rabbitmqctl stop
4.6.2 拷贝.erlang.cookie(master机器)
官方在介绍集群的文档中提到过 .erlang.cookie
一般会存在这两个地址:
第一个是 ~/.erlang.cookie
第二个地方就是 /var/lib/rabbitmq/.erlang.cookie
本文的地址在 ~/.erlang.cookie
$ scp /root/.erlang.cookie root@slave1:/root/
$ scp /root/.erlang.cookie root@slave2:/root/
4.6.3 启动RabbitMQ服务
顺带启动 Erlang 虚拟机和 RabbitMQ 应用服务,在 master、slave1、slave2 执行命令:
$ rabbitmq-server -detached
4.6.4 节点加入
RabbitMQ 集群的搭建需要选择其中任意一个节点为基准,将其它节点逐步加入。这里我们以 master 为基准节
点,将 slave1 和 slave2 加入集群。在 slave1 和 slave2 上执行以下命令:
# 1.停止服务
rabbitmqctl stop_app
# rabbitmqctl stop会将Erlang虚拟机关闭,rabbitmqctl stop_app只关闭RabbitMQ服务# 2.重置状态
rabbitmqctl reset# 3.节点加入,在一个node加入cluster之前,必须先停止该node的rabbitmq应用,即先执行stop_app
# slave1加入master,slave2加入master
rabbitmqctl join_cluster rabbit@master# 4.启动服务
rabbitmqctl start_app
4.6.5 查看集群状态
此时可以在任意节点上使用 rabbitmqctl cluster_status
命令查看集群状态,输出如下:
[root@master ~]# rabbitmqctl cluster_status
Cluster status of node rabbit@master ...
[{nodes,[{disc,[rabbit@master,rabbit@slave1,rabbit@slave2]}]},{running_nodes,[rabbit@slave2,rabbit@slave1,rabbit@master]},{cluster_name,<<"rabbit@master">>},{partitions,[]},{alarms,[{rabbit@slave2,[]},{rabbit@slave1,[]},{rabbit@master,[]}]}]
[root@slave1 rabbitmq]# rabbitmqctl cluster_status
Cluster status of node rabbit@slave1 ...
[{nodes,[{disc,[rabbit@master,rabbit@slave1,rabbit@slave2]}]},{running_nodes,[rabbit@slave2,rabbit@master,rabbit@slave1]},{cluster_name,<<"rabbit@master">>},{partitions,[]},{alarms,[{rabbit@slave2,[]},{rabbit@master,[]},{rabbit@slave1,[]}]}]
[root@slave2 rabbitmq]# rabbitmqctl cluster_status
Cluster status of node rabbit@slave2 ...
[{nodes,[{disc,[rabbit@master,rabbit@slave1,rabbit@slave2]}]},{running_nodes,[rabbit@master,rabbit@slave1,rabbit@slave2]},{cluster_name,<<"rabbit@master">>},{partitions,[]},{alarms,[{rabbit@master,[]},{rabbit@slave1,[]},{rabbit@slave2,[]}]}]
4.6.6 UI 界面查看
4.6.7 配置镜像模式
在任意节点执行即可:
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
4.6.8 从集群中移除节点
1、在需要移除的节点上执行停止命令
rabbitmqctl stop_app
2、在其他节点上执行移除节点命令
rabbitmqctl forget_cluster_node rabbit@slave2
–offline 参数,它允许节点在自身没有启动的情况下将其他节点剔除。
4.6.9 解除集群
重置当前节点:
# 1.停止服务
rabbitmqctl stop_app# 2.重置集群状态
rabbitmqctl reset# 3.重启服务
rabbitmqctl start_app
重新加入集群:
# 1.停止服务
rabbitmqctl stop_app# 2.重置状态
rabbitmqctl reset# 3.节点加入
rabbitmqctl join_cluster rabbit@node1# 4.重启服务
rabbitmqctl start_app
4.6.10 变更节点类型
# 1.停止服务
rabbitmqctl stop_app# 2.变更类型,有两种类型ram和disc
# 我们可以将节点的类型从RAM更改为Disk
rabbitmqctl change_cluster_node_type disc# 3.重启服务
rabbitmqctl start_app
相关文章:

RabbitMQ的安装
RabbitMQ的安装 1、Windows环境下的RabbitMQ安装步骤 使用的版本:otp_win64_23.2 rabbitmq-server-3.8.16 版本说明:https://www.rabbitmq.com/which-erlang.html#compatibility-matrix 1.1 下载并安装erlang RabbitMQ 服务端代码是使用并发式语言…...

GPU版PyTorch对应安装教程
一、正确安装符合自己电脑的对应GPU版本的PyTorch之前需要了解三个基本概念 算力、CUDA driver version、CUDA runtime version ①算力:需要先知道你的显卡,之后根据官网表格进行对应,得到算力 ②CUDA driver version:电脑上显卡…...

医学影像PACS临床信息系统源码
医学影像临床信息系统(Picture Archiving and Communication Systems)PACS是指从医疗影像设备中获得数字影像,利用高速网络进行存储、管理、传输的医疗影像信息管理系统。通过该系统,能实现影像数字化、无胶片化管理。 登记系统 …...

Python(Web时代)——jinja2模板
简介 Jinja2是Flask框架默认支持的模板引擎,是python的web项目中被广泛应用的一种模板引擎,jinja2的作者与Flask是同一个人。 jinja2具有以下特点: 非常灵活,提供了控制结构、表达式与继承等 性能好 可读性强 渲染一个模板&a…...

酷开系统 | 酷开科技,让数据变得更有价值!
身处信息时代,我们每个人时刻都在生成、传递和应用数据,数据已经成为了现代社会中宝贵的资源之一,而在人工智能领域,数据更是被称为人工智能的“燃料”。 而在AI的发展中,只有拥有高质量、多样性且充分代表性的数据集…...

uni——tab切换
案例展示 案例代码 <view class"tablist"><block v-for"(item,index) in tabList" :key"index"><view class"tabItem" :class"current item.id?active:" click"changeTab(item)">{{item.nam…...

类图的6种关系和golang应用
文章目录 1. 依赖和关联1.1 依赖(Dependency)概念类图示例代码示例 1.2 关联(Association)概念类图示例代码示例 2. 组合和聚合(特殊的关联关系)2.1 聚合(Aggregation)概念类图示例代…...
Linux tar 备忘清单
tar 备忘清单 语法选项创建一个 tar 格式的压缩文件创建压缩后的 tar.gz 存档文件生成压缩率更高的 tar.bz2 文件解压缩 tar 文件解压缩 tar.gz 文件解压缩 tar.bz2 文件列出归档内容从 tar 归档文件中提取单个文件从 tar 归档文件中提取多个文件使用通配符提取文件组添加文件或…...

76. 最小覆盖子串
题目链接:力扣 解题思路:滑动窗口 因为只需要最小子串中包含t中的所有字符即可,顺序不重要,所以可以先统计一下 t 中每个字符出现的次数,使用map进行统计: key表示t中的字符,value表示字符的个…...
科兴未来|2023“数智未来,聚放神采”医疗科技创新挑战赛
一、赛事亮点 聚焦前沿神经科学与脑科学领域 展示优质创新产品、技术、平台与服务 汇聚学术端、产业端、投资端多维专业视角 搭建合作交流、产业赋能与生态融合平台 共话行业发展方向与动态趋势 二、赛事简介 2023医疗科技创新挑战赛聚焦于神经科学及脑科学领域的前沿技…...

第56步 深度学习图像识别:CNN梯度权重类激活映射(TensorFlow)
基于WIN10的64位系统演示 一、写在前面 类激活映射(Class Activation Mapping,CAM)和梯度权重类激活映射(Gradient-weighted Class Activation Mapping,Grad-CAM)是两种可视化深度学习模型决策过程的技术…...

云道资本:2023中国氢能源产业-氢制备深度研究报告(附下载)
关于报告的所有内容,公众【营销人星球】获取下载查看 核心观点 中国可再生能源消纳能力提升远远滞后于发电占比的提升。大规模的可再生能源发电是实现碳中和的关键一步,但风电、光伏发电间歌性、波动性强,电网消纳压力较大,且电…...

java文件
一.File类 二.扫描指定目录,并找到名称中包含指定字符的所有普通文件(不包含目录),并且后续询问用户是否要删除该文件 我的代码: import java.io.File; import java.io.IOException; import java.util.Scanner;public class Tes…...
pyqt5 如何终止正在执行的线程?
在 PyQt5 中终止正在执行的线程,可以通过一些协调的方法来实现。一般情况下,直接强行终止线程是不安全的,可能会导致资源泄漏或者程序异常。相反,我们可以使用一种协作的方式,通知线程在合适的时候自行退出。 以下是一…...
力扣第357场周赛补题
6925. 故障键盘 - 力扣(LeetCode) 思路:模拟 class Solution { public:string finalString(string s) {string res;for(auto c : s){if(c i) reverse(res.begin(), res.end());else res c;}return res;} }; 6953. 判断是否能拆分数组 - 力…...
Keras指定model.fit()的输出
model.fit()当verbose1的时候会打印出所有指标和loss, 在多输出的情况下更是一团乱麻. 下面是一个可以指定每个epoch训练完的输入指标的方法: from keras.callbacks import Callback# Custom callback to display loss only at the end of each epoch class LossCallback(Call…...

替换开源LDAP,某科技企业用宁盾目录统一身份,为业务敏捷提供支撑
客户介绍 某高科技企业成立于2015年,是一家深耕于大物流领域的人工智能公司,迄今为止已为全球16个国家和地区,120余家客户打造智能化升级体验,场景覆盖海陆空铁、工厂等货运物流领域。 该公司使用开源LDAP面临的挑战 挑战1 开源…...
解决log4j.xml的url没有注册问题
在对log4j.xml配置文件配置时出现http//jakarta.apache.org/log4j/爆红,IDEA提示uri is not registered。源代码如下 <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j"http://jakarta.apache.org/lo…...
深度思考操作系统面经
1 堆和栈的区别:(如果记的不太清楚,可以类比jvm中的堆和栈的区别,大差不差) 存储位置:堆是在计算机内存中动态分配的区域,而栈是在计算机内存中由操作系统自动分配和管理的区域。管理方式&…...

智慧工地源码:数字孪生智慧工地可视化解决方案
一、智慧工地建设背景 我国经济发展正从传统粗放式的高速增长阶段,进入高效率、低成本、可持续的中高速增长阶段。随着现代建筑的复杂度和体量等不断增加,施工现场管理的内容越来越多,管理的技术难度和要求在不断提高。传统的施工现场管理模…...

利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
深入浅出Diffusion模型:从原理到实践的全方位教程
I. 引言:生成式AI的黎明 – Diffusion模型是什么? 近年来,生成式人工智能(Generative AI)领域取得了爆炸性的进展,模型能够根据简单的文本提示创作出逼真的图像、连贯的文本,乃至更多令人惊叹的…...
uniapp 实现腾讯云IM群文件上传下载功能
UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中,群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS,在uniapp中实现: 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...

aurora与pcie的数据高速传输
设备:zynq7100; 开发环境:window; vivado版本:2021.1; 引言 之前在前面两章已经介绍了aurora读写DDR,xdma读写ddr实验。这次我们做一个大工程,pc通过pcie传输给fpga,fpga再通过aur…...