当前位置: 首页 > news >正文

华为云服务器VoceChat在线聊天室部署

目录

    • 1. 项目介绍
    • 2. 准备条件
    • 3. Docker环境部署
      • 3.1 安装Docker(CentOS 7)
      • 3.2 安装Docker Compose
      • 3.3 Docker常用命令
    • 4. 创建配置文件
      • 4.1 创建工作目录
      • 4.2 创建docker-compose.yml文件
      • 4.3 保存配置文件
    • 5. 部署运行
      • 5.1 启动服务
      • 5.2 检查服务状态
      • 5.3 防火墙配置
    • 6. 访问VoceChat
      • 6.1 通过IP和端口访问
      • 6.2 首次访问设置
    • 7. 更新VoceChat
    • 8. 绑定域名(可选)
      • 8.1 安装Nginx Proxy Manager
      • 8.2 配置反向代理
    • 9. 网站集成
      • 9.1 获取集成代码
      • 9.2 将代码添加到网站
    • 10. 移动端应用
      • 10.1 iOS应用
      • 10.2 Android应用
      • 10.3 移动端配置
    • 11. 常见问题与故障排除
      • 11.1 无法访问VoceChat
      • 11.2 数据备份
      • 11.3 数据恢复
    • 12. 高级配置
      • 12.1 自定义VoceChat
      • 12.2 HTTPS配置
    • 13. 资源链接
    • 14. 结语

1. 项目介绍

VoceChat是一款超轻型、基于Rust开发的聊天应用程序、API和SDK,优先考虑私人托管。其主要特点包括:

  • 轻量级:占用资源少,部署简单
  • 开源:代码完全开源,可自由修改
  • 私人托管:保护隐私和数据安全
  • 多平台支持:提供Web界面、移动应用等
  • 集成能力:可以轻松集成到您的网站或应用程序中
  • 机器人和社交渠道功能:扩展应用场景

VoceChat非常适合作为网站的客服系统,可以实现即时通讯,提高用户体验和客户服务质量。

2. 准备条件

在开始部署VoceChat之前,您需要准备以下条件:

  1. 服务器:一台运行Linux系统的服务器(本教程以CentOS 7为例)

    • 可以使用云服务商提供的ESC,如Vultr等
    • 建议配置:至少1核1G内存,10GB存储空间
  2. 域名(可选):如果您希望通过域名访问VoceChat,需要准备一个域名并完成DNS解析

  3. Docker和Docker Compose:用于容器化部署VoceChat

  4. 项目资源

    • 官方网站:https://voce.chat/zh-CN
    • GitHub仓库:https://github.com/Privoce/vocechat-web

3. Docker环境部署

VoceChat使用Docker进行部署,因此我们需要先在服务器上安装Docker和Docker Compose。

3.1 安装Docker(CentOS 7)

# 更新包管理器
sudo yum update -y# 安装必要的软件包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2# 添加Docker官方源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 安装Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io# 启动Docker服务并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker# 验证Docker安装
sudo docker --version

3.2 安装Docker Compose

# 下载Docker Compose二进制文件
sudo curl -L "https://github.com/docker/compose/releases/download/v2.18.1/docker-compose- $(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose# 添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose# 创建软链接
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose# 验证安装
docker-compose --version

3.3 Docker常用命令

# 查看当前运行的容器
docker ps# 查看所有容器(包括已停止的)
docker ps -a# 查看镜像
docker images# 停止容器
docker stop 容器ID或容器名# 启动容器
docker start 容器ID或容器名# 重启容器
docker restart 容器ID或容器名# 删除容器
docker rm 容器ID或容器名# 删除镜像
docker rmi 镜像ID或镜像名# 查看容器日志
docker logs 容器ID或容器名# 查看容器资源使用情况
docker stats

4. 创建配置文件

部署VoceChat需要创建一个docker-compose.yml配置文件,该文件定义了VoceChat的运行环境和参数。

4.1 创建工作目录

# 创建工作目录并进入
mkdir ~/VoceChat && cd ~/VoceChat

4.2 创建docker-compose.yml文件

# 使用vim编辑器创建配置文件
vim docker-compose.yml

将以下内容复制到文件中(根据需要修改参数):

version: '3.3'
services:ywsjchat:   # 服务名,可以自定义container_name: ywsjchat    # 容器名,可以自定义ports:- '3322:3000'   # 冒号左边的3322可以改成任意未使用过的端口environment:- PUID=0    # 用户ID,可以通过id命令查看当前用户的ID- PGID=0    # 组ID,可以通过id命令查看当前用户的组ID- TZ=Asia/Shanghai  # 时区设置restart: always    # 开启自启动volumes:- './data:/home/vocechat-server/data' # 数据持久化配置,冒号左侧可以更改本地的目录image: privoce/vocechat-server:latest    # 镜像名称,不要修改

配置说明:

  • ywsjchat:服务名称,可以根据需要自定义

  • container_name:容器名称,可以根据需要自定义

  • ports:端口映射,格式为"主机端口:容器端口",可以修改主机端口(冒号左边的数字)

  • environment:环境变量设置

    • PUIDPGID:用户ID和组ID,可以使用id命令查看
    • TZ:时区设置,默认为Asia/Shanghai
  • restart:容器重启策略,always表示总是自动重启

  • volumes:数据卷映射,用于数据持久化

  • image:使用的Docker镜像

4.3 保存配置文件

在vim编辑器中,按Esc键退出编辑模式,然后输入:wq保存并退出。

5. 部署运行

完成配置文件创建后,我们可以启动VoceChat服务。

5.1 启动服务

# 在VoceChat目录下执行
docker-compose up -d

命令说明:

  • up:创建并启动容器
  • -d:后台运行模式

5.2 检查服务状态

# 查看正在运行的容器
docker ps# 查看容器日志
docker logs ywsjchat

如果一切正常,您应该能看到VoceChat容器正在运行。

5.3 防火墙配置

如果您的服务器开启了防火墙,需要放行VoceChat使用的端口(本例中为3322):

# CentOS 7防火墙配置
sudo firewall-cmd --permanent --add-port=3322/tcp
sudo firewall-cmd --reload# 检查端口是否开放
sudo firewall-cmd --list-ports

6. 访问VoceChat

6.1 通过IP和端口访问

在部署完成后,您可以通过浏览器访问VoceChat:

http://服务器IP:3322

例如,如果您的服务器IP是123.456.789.10,则访问地址为:http://123.456.789.10:3322

6.2 首次访问设置

首次访问VoceChat时,您需要进行以下设置:

  1. 创建管理员账户
  2. 设置服务器名称
  3. 配置基本参数(如是否允许注册等)

7. 更新VoceChat

当VoceChat发布新版本时,您可以按照以下步骤进行更新:

# 进入VoceChat目录
cd ~/VoceChat# 停止当前运行的容器
docker-compose down# 拉取最新的镜像
docker-compose pull# 重新启动容器
docker-compose up -d# 清理旧的未使用镜像
docker image prune -f

8. 绑定域名(可选)

如果您希望通过域名访问VoceChat,可以使用Nginx反向代理来实现。

8.1 安装Nginx Proxy Manager

Nginx Proxy Manager是一个简单易用的Nginx可视化管理工具,可以帮助您方便地配置反向代理。

关于Nginx Proxy Manager的详细部署教程,可以参考:
Nginx Proxy Manager部署指南

8.2 配置反向代理

在Nginx Proxy Manager中添加代理主机配置:

  1. 域名:您的VoceChat域名,如vocechat.example.com
  2. 方案:http
  3. 转发主机:VoceChat服务器的IP
  4. 转发端口:VoceChat服务端口(本例中为3322)
  5. 开启SSL(推荐)

配置完成后,您可以通过域名访问VoceChat:https://vocechat.example.com

9. 网站集成

VoceChat可以集成到现有网站中,作为客服系统使用。

9.1 获取集成代码

登录VoceChat管理界面,进入设置页面,找到"网站集成"或"嵌入代码"选项,复制集成代码。

9.2 将代码添加到网站

将获取的代码添加到您网站的HTML中,通常放在</body>标签之前。代码示例如下:

<script>(function(d, w, c) {w.VoceChat = {serverUrl: 'https://vocechat.example.com ',organization: 'Your Organization',position: 'right', // 可选:'left' 或 'right'locale: 'zh-CN', // 语言设置theme: 'light' // 主题设置,可选:'light' 或 'dark'};var s = d.createElement('script');s.type = 'text/javascript';s.async = true;s.src = 'https://vocechat.example.com/widget.js ';var x = d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s, x);})(document, window);
</script>

集成后,您的网站右下角会出现一个聊天图标,用户可以点击打开聊天窗口。

10. 移动端应用

VoceChat提供移动端应用,方便管理员随时回复消息。

10.1 iOS应用

下载地址:https://apps.apple.com/app/vocechat/id1631779678

10.2 Android应用

下载地址:https://vocechat.s3.amazonaws.com/vocechat.android.apk

10.3 移动端配置

在移动应用中,您需要输入服务器地址(例如https://vocechat.example.com )并登录您的账户。

11. 常见问题与故障排除

11.1 无法访问VoceChat

  1. 检查容器是否正常运行:docker ps
  2. 查看容器日志:docker logs ywsjchat
  3. 确认防火墙是否已放行端口
  4. 检查服务器安全组设置(如使用云服务器)

11.2 数据备份

VoceChat的数据存储在配置的数据卷中,本例中为~/VoceChat/data目录。您可以定期备份此目录:

# 创建备份
tar -zcvf vocechat_backup_$(date +%Y%m%d).tar.gz -C ~/VoceChat data# 将备份文件移动到安全位置
mv vocechat_backup_*.tar.gz /path/to/backup/location

11.3 数据恢复

如需恢复数据,可以按以下步骤操作:

# 停止VoceChat容器
cd ~/VoceChat
docker-compose down# 备份当前数据(以防万一)
mv data data_old# 解压备份文件
tar -zxvf vocechat_backup_YYYYMMDD.tar.gz -C ~/VoceChat# 重新启动VoceChat
docker-compose up -d

12. 高级配置

12.1 自定义VoceChat

您可以通过环境变量自定义VoceChat的行为,在docker-compose.yml文件的environment部分添加相应配置:

environment:- PUID=0- PGID=0- TZ=Asia/Shanghai- VOCECHAT_SERVER_NAME=My Chat Server  # 服务器名称- VOCECHAT_ENABLE_REGISTRATION=true    # 是否允许注册- VOCECHAT_MAX_USERS=100               # 最大用户数# 更多配置...

12.2 HTTPS配置

如果您不使用Nginx反向代理,也可以直接为VoceChat配置HTTPS:

environment:# 其他配置...- VOCECHAT_ENABLE_TLS=true- VOCECHAT_TLS_CERT=/path/to/cert.pem- VOCECHAT_TLS_KEY=/path/to/key.pem
volumes:- './data:/home/vocechat-server/data'- '/path/to/cert.pem:/path/to/cert.pem'- '/path/to/key.pem:/path/to/key.pem'

13. 资源链接

  • VoceChat官方网站:https://voce.chat/zh-CN
  • GitHub仓库:https://github.com/Privoce/vocechat-web
  • Docker Hub:https://hub.docker.com/r/privoce/vocechat-server

14. 结语

通过本教程,您已经成功部署了VoceChat聊天系统,并了解了如何进行基本配置、更新维护、域名绑定和网站集成等操作。VoceChat作为一款轻量级的开源聊天应用,非常适合作为网站的即时通讯和客服系统使用。

如果您在使用过程中遇到任何问题,可以查阅官方文档或在GitHub仓库提交Issue。希望本指南对您有所帮助!

相关文章:

华为云服务器VoceChat在线聊天室部署

目录 1. 项目介绍2. 准备条件3. Docker环境部署3.1 安装Docker&#xff08;CentOS 7&#xff09;3.2 安装Docker Compose3.3 Docker常用命令 4. 创建配置文件4.1 创建工作目录4.2 创建docker-compose.yml文件4.3 保存配置文件 5. 部署运行5.1 启动服务5.2 检查服务状态5.3 防火…...

ERP系统(技术面)知识积累

本文为本人在准备某公司信息技术类岗位的面试时所作的笔记&#xff0c;该公司有技术面&#xff0c;此岗位入职后负责的是ERP系统的运行和维护&#xff0c;所以可能会问ERP系统相关的问题。故我写此文以做准备。 ERP简介 ERP&#xff0c;全称Enterprise Resource Planning&…...

Python学习笔记(第三部分)

接续 Python.md 文件的第三部分 类 类的创建的基本使用 创建一个类 class Dog(): 文档字符串&#xff1a;这是一次模拟小狗的简单尝试 def __init__(self,name,age):self.name nameself.age agedef sit(self):print(self.name.title() " is now sitting.")def ro…...

【浅尝Java】Java简介第一个Java程序(含JDK、JRE与JVM关系、javcdoc的使用)

&#x1f35e;自我激励&#xff1a;每天努力一点点&#xff0c;技术变化看得见 文章目录 Java语言概述Java是什么Java语言的重要性Java语言发展简史Java语言特性 第一个Java程序main方法示例运行Java程序JDK、JRE、JVM之间的关系注释基本规则注释规范 标识符关键字 Java语言概述…...

【FreeRTOS-列表和列表项】

参照正点原子以及以下gitee笔记整理本博客&#xff0c;并将实验结果附在文末。 https://gitee.com/xrbin/FreeRTOS_learning/tree/master 一、列表和列表项的简介(熟悉) 1、什么是列表 答&#xff1a;列表是FreeRTOS中的一个数据结构&#xff0c;概念上和链表有点类似&#…...

22.2Linux的I2C驱动实验(编程)_csdn

我尽量讲的更详细&#xff0c;为了关注我的粉丝&#xff01;&#xff01;&#xff01; 这里我们用到的是stm32mp157的板子&#xff0c;所以我们看一下I2C用到的引脚。 1、硬件原理图分析 可以看到在这块板子上面用的SDA和SCL总线是PA11,PA12。所以要修改设备树和镜像文件&…...

socket-IO复用技术

五个I/O模型 1、阻塞I/O 2、非阻塞I/O 3、I/O复用&#xff08;select和poll&#xff09; 4、信号驱动I/O 5、异步I/O I/O复用 是一种在单线程或单进程环境下&#xff0c;同时监听多个 I/O 事件的技术。它允许程序高效地处理多个输入输出流&#xff08;如网络套接字、文件描…...

上位机知识篇---二进制操作

文章目录 前言接收数据示例:0xAA 0x12 0x34 0x55合并高/低字节数据RGB565颜色值:0xF800(红色)Python中负数右移接收帧:01 03 02 12 34 CRC前言 本文简单对单片机、上位机中的映射(Mapping)和位移操作符(Bit Shifting)等相关知识进行了简单介绍. 一、单片机与上位机中…...

openEuler 22.03 安装 Mysql 5.7,TAR离线安装

目录 一、检查系统是否安装其他版本Mariadb数据库二、环境检查2.1 必要环境检查2.2 在线安装&#xff08;有网络&#xff09;2.3 离线安装&#xff08;无网络&#xff09; 二、下载Mysql2.1 在线下载2.2 离线下载 三、安装Mysql四、配置Mysql五、开放防火墙端口六、数据备份七、…...

《排序算法总结》

引言&#xff1a; 编程学到现在&#xff0c;我们已经接触了很多种排序算法&#xff0c;这篇文章我就对常见的几种排序算法进行一个小结。 一&#xff1a; 排序算法分类&#xff1a; 二&#xff1a; 插入排序&#xff1a; 直接插入排序&#xff1a; 1. 概念&#xff1a; 直…...

【Java学习笔记】递归

递归&#xff08;recursion&#xff09; 思想&#xff1a;把一个复杂的问题拆分成一个简单问题和子问题&#xff0c;子问题又是更小规模的复杂问题&#xff0c;循环往复 本质&#xff1a;栈的使用 递归的注意事项 &#xff08;1&#xff09;需要有递归出口&#xff0c;否者就…...

体系学习1:C语言与指针1——预定义、进制打印、传参为数组

1、不对一段代码进行编译 #if 0 statement #endif2、输出地址 int d[3]{1,2,3}; printf("%p",(void*)d);//p期待的是void*类型的数据3、不同进制的打印 int data 1200; char hed[9];//为\0预留位置&#xff01;&#xff01;&#xff01; sprintf(hed,"%08X&…...

使用Java正则表达式进行分组与匹配文本提取

在Java开发中&#xff0c;正则表达式&#xff08;Regex&#xff09;是处理字符串的强大工具&#xff0c;广泛应用于数据验证、文本解析和格式转换等场景。通过正则表达式的分组功能&#xff0c;开发者可以精确地提取匹配模式的子部分&#xff0c;而不仅仅是整个匹配内容。Java的…...

RAGFlow上传3M是excel表格到知识库,提示上传的文件总大小过大

环境&#xff1a; Ragflowv0.17.2 问题描述&#xff1a; RAGFlow上传3M是excel表格到知识库&#xff0c;提示上传的文件总大小过大 解决方案&#xff1a; 定位问题&#xff1a; 1.查询Nginx 日志 Nginx 日志 检查 Nginx 配置中日志路径是否正确&#xff0c;确保日志文件有…...

2025年4月文章一览

2025年4月编程人总共更新了30篇文章&#xff1a; 1.2025年3月文章一览 2.《Operating System Concepts》阅读笔记&#xff1a;p528-p544 3.《Operating System Concepts》阅读笔记&#xff1a;p545-p551 4.《Operating System Concepts》阅读笔记&#xff1a;p552-p579 5.…...

2025大模型微调视频课程全套(附下载)

2025大模型微调视频课程全套&#xff0c;共10课。主要内容如下&#xff1a; 1、大模型的发展 2、Transformer & LLMs 3、大模型微调预览&Lora微调&Alpaca模型微调 4、Alpaca&AdaLoRA&QLoRA模型微调 5、Efficient Fine-tuning&Efficient Inference&…...

【Python Web开发】04-Cookie和Session

文章目录 1. Cookie1.1 定义1.2 工作原理1.3 用途1.4 优缺点 2. Session2.1 定义2.2 工作原理2.3 用途2.4 优缺点 3. Cookie 与 Session 的关系4. 安全性考量5. Python 中使用 Cookie 和 Session 在 HTTP 协议里&#xff0c;Cookie 和 Session 是用于管理客户端与服务器之间会话…...

从股指到期指,哪些因素影响基差?

当我们谈论股指期货&#xff08;简称“期指”&#xff09;与股票现货指数&#xff08;简称“股指”&#xff09;的基差时&#xff0c;其实是在探讨期货价格与现货价格之间的“差价”。这个差价受多种因素影响&#xff0c;时而扩大&#xff0c;时而缩小&#xff0c;甚至可能“翻…...

n8n 中文系列教程_15. 【工具篇】n8n中文版与汉化指南:从原理到实践

n8n 作为一款强大的开源自动化工具&#xff0c;目前尚未推出官方中文版&#xff0c;但社区提供了汉化方案。不过&#xff0c;对于技术用户&#xff0c;我们更推荐使用英文原版&#xff0c;以便更好地查阅文档和解决问题。如果你仍希望尝试汉化&#xff0c;本文将详细介绍如何通…...

3D版同步帧游戏

以下是实现一个3D版同步帧游戏的详细步骤与完整代码示例。我们将以第一人称射击游戏(FPS)为原型,重点讲解3D空间中的同步机制优化。 项目升级:3D版核心改动 1. 3D坐标系与消息结构 // common/messages.go type Vector3 struct {X float32 `json:"x"`Y float32 `…...

C语言中数字转化为字符串的方法

C语言中数字转化为字符串的方法 1. 使用 sprintf 函数 这是 stdio.h 头文件中的标准库函数 &#xff0c;功能类似于 printf &#xff0c;但不是输出到控制台&#xff0c;而是将格式化后的内容输出到字符数组&#xff08;字符串&#xff09;中。 示例代码&#xff1a; c #inc…...

使用MGeo模型高精度实现文本中地址识别

一、功能与安装 1、模型地址 模型是阿里开发的门址高精度识别模型。 https://modelscope.cn/models/iic/mgeo_geographic_elements_tagging_chinese_base/summary 注意&#xff1a;不能自己安装包&#xff0c;没法解决依赖问题&#xff0c;直接按照官方要求安装下面的包&am…...

OpenGL-ES 学习(15) ----纹理

目录 纹理简介纹理映射纹理映射流程示例代码&#xff1a;纹理的环绕和过滤方式纹理的过滤方式 纹理简介 现实生活中&#xff0c;纹理(Texture) 类似于游戏中皮肤的概念&#xff0c;最通常的作用是装饰 3D 物体&#xff0c;它像贴纸一样贴在物体的表面&#xff0c;丰富物体的表…...

类成员函数编译链接的过程

1.静态成员函数和普通成员函数 源文件编译成目标文件&#xff0c;静态成员函数和普通成员函数在目标文件代码段&#xff0c;函数添加进了符号表&#xff0c;地址是在代码段的相对地址&#xff0c;这个地址只是一个临时地址因为后面链接时还要合并代码段&#xff0c;函数地址还…...

PostgreSQL:pgAdmin 4 使用教程

pgAdmin 4 是一个用于管理和维护 PostgreSQL 数据库的强大工具。它提供了一个图形化界面&#xff0c;使用户能够轻松地连接到数据库、创建表、运行 SQL 语句以及执行其他数据库管理任务。 安装和使用 安装 pgAdmin 4 安装 pgAdmin 4 非常简单。下载并运行安装程序&#xff0…...

*(解引用运算符)与 ++(自增运算符)的优先级

在 C 和 C 等编程语言里&#xff0c;*&#xff08;解引用运算符&#xff09;与 &#xff08;自增运算符&#xff09;的执行优先级高低&#xff0c;要依据 是前缀形式还是后缀形式来确定。下面为你详细分析&#xff1a; 1. 后缀 运算符 后缀 运算符的优先级比 *&#xff08…...

二叉搜索树中的搜索(递归解决)

700. 二叉搜索树中的搜索 - 力扣&#xff08;LeetCode&#xff09; 二叉搜索树&#xff08;BST&#xff09;&#xff1a;以任意节点为根节点的数值大于其左子树所有节点的值&#xff0c;小于右子树所有节点的值。 查找二叉搜索树中的值&#xff0c;要利用节点之间的大小关系。…...

idea安装

1.卸载 2.安装 3.ssh...

在ASP.NET MVC中使用Repeater指南

虽然ASP.NET MVC框架本身不包含Web Forms中的Repeater控件&#xff0c;但您可以通过几种方式实现类似的功能。以下是几种在MVC中实现Repeater效果的方法&#xff1a; 1. 使用foreach循环 最简单的方法是直接在视图中使用Razor的foreach循环&#xff1a; csharp model IEnumer…...

【C语言常用字符串解析】

总结一下在 C 语言中用于字符串解析&#xff08;特别是从文件中读取行并提取数据&#xff09;的常用函数、 核心任务&#xff1a; 通常是从文件中读取一行文本&#xff08;一个字符串&#xff09;&#xff0c;然后从这个字符串中提取出需要的数据&#xff08;比如数字、单词等…...

基于深度学习农作物叶部病害实时检测系统研究(源码+定制+开发)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…...

『MCP』初体验

『MCP』初体验 介绍 MCP 其实就是 Function Calling 的一个统一接口协议&#xff0c;网上介绍会有很多&#xff0c;所以这里不就重复介绍&#xff0c;这里主要是想记录说明一下 MCP 使用体验&#xff0c;可以帮助新人入门一下 安装 VSCode 以及 MCP client VSCode 自行安装…...

前端面试宝典---webpack原理解析,并有简化版源码

前言 先看一下webpack打包后的bundle.js&#xff0c;前边的直接扫一眼就过&#xff0c;可以发现这个立即执行函数的形参就是一个&#xff0c;key为引入文件路径&#xff0c;value为该模块代码的函数。 所以比较重要的就是通过webpack的配置文件中的entry的入口文件&#xff0c…...

负载均衡深度实践:基于Nginx+Keepalived的高可用方案与Zabbix监控设计

目录 综合实践-部署负载均衡 1 环境准备 2 zabbix监控nginx和keeplive 2.1 nginx安装 2.2 安装keepalived 2.3 部署vue 2.4 安装agent 2.5 zabbix监控nginx配置 2.6 zabbix监控keeplived 3 zabbix监控jar 3.1 安装agent 3.2 安装jdk 3.3 部署jar包 3.4 配置web 4…...

深度学习基础--目标检测入门简介

博主简介&#xff1a;努力学习的22级本科生一枚 &#x1f31f;​ 博客主页&#xff1a;羊小猪~~-CSDN博客 内容简介&#xff1a;探索AI算法&#xff0c;C&#xff0c;go语言的世界&#xff1b;在迷茫中寻找光芒​&#x1f338;​ 往期回顾&#xff1a;yolov5基础–一步一步教…...

Redis ⑧-RESP | 渐进式遍历 | 数据库管理

Redis data-types 除了之前学习的 string、hash、list、set、Zset 五种数据结构之外&#xff0c;Redis 还提供了 bitmap、bitfield、 hyperloglog、geospatial、stream 等数据结构。 另外的一些数据结构&#xff0c;都是在某些特定环境下才会使用&#xff0c;使用频率不高&…...

【Android】四大组件之ContentProvider

目录 一、什么是 ContentProvider 二、创建和使用 ContentProvider 三、跨应用权限控制 四、数据变更通知 五、多表关联与视图 六、异步处理 你手机里的通讯录&#xff0c;存储了所有联系人的信息。如果你想把这些联系人信息分享给其他App&#xff0c;就可以通过ContentP…...

Qwen3 发布:优化编码与代理能力,强化 MCP 支持引领 AI 新潮流

人工智能领域的每一次重大突破都如同璀璨星辰&#xff0c;照亮了人类前行的道路。2025 年 4 月 29 日凌晨&#xff0c;阿里巴巴旗下的 Qwen 官方团队正式发布了最新一代大语言模型 ——Qwen3&#xff0c;犹如一颗重磅炸弹&#xff0c;在 AI 领域掀起了惊涛骇浪。此次发布&#…...

LEETERS题解

【题目描述】 给出一个rowcolrowcol的大写字母矩阵&#xff0c;一开始的位置为左上角&#xff0c;你可以向上下左右四个方向移动&#xff0c;并且不能移向曾经经过的字母。问最多可以经过几个字母。 【输入】 第一行&#xff0c;输入字母矩阵行数RR和列数SS&#xff0c;1≤R,S≤…...

图像加密算法概述

版本: 1.0 日期: 2025年5月1日 目录 引言 1.1 什么是图像加密?1.2 为什么需要图像加密?1.3 图像数据的特点与加密挑战加密基础概念 2.1 明文与密文2.2 加密与解密2.3 密钥2.4 对称加密与非对称加密为什么传统文本加密算法不完全适用于图像? 3.1 数据量巨大3.2 高度冗余性…...

loads、dumps、jsonpath使用场景

在处理JSON数据时&#xff0c;loads、dumps 和 jsonpath 是三个非常有用的工具或概念。它们各自在不同的场景下发挥作用&#xff0c;让我们一一来看&#xff1a; 1. loads loads 函数是 Python 中 json 模块的一部分&#xff0c;用于将 JSON 格式的字符串解析成 Python 的数据…...

Winform(7.序列化方式整理)

今天我又对序列化方式进行了整理,可以与上一篇序列化方式一起看 一.序列化方式(四种) 1.二进制序列化 //定义 Person 类,需要标记为可序列化 [Serializable] public class Person { public string Name{get;set;} public int Age{get;set;} } 在进行二进制序列化…...

通过AI的联网功能提升搜索检索能力

以百度ai搜索&#xff08;百度AI搜索 - 办公学习一站解决&#xff09;为例&#xff0c;ai会自动根据问题搜集现有互联网文章&#xff0c;避免人工通过传统检索引擎的结果逐个去查找&#xff0c;这种方式文章的相关性会更高。 tip&#xff1a;快速查看每篇文档&#xff0c;仅关…...

Spring IoC容器的设计与实现

Spring整体架构与模块划分 核心容器&#xff08;Core Container&#xff09; spring-core 基础工具类&#xff1a;如资源加载&#xff08;Resource接口&#xff09;、反射工具&#xff08;ReflectionUtils&#xff09;、类型转换&#xff08;ConversionService&#xff09;。…...

使用vue的插值表达式渲染变量,格式均正确,但无法渲染

如图&#xff0c;作者遇到的问题为&#xff0c;输入以下代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><…...

数据库 AI 助手测评:Chat2DB、SQLFlow 等工具如何提升开发效率?

一、引言:数据库开发的 “效率革命” 正在发生 在某互联网金融公司的凌晨故障现场,资深 DBA 正满头大汗地排查一条执行超时的 SQL—— 该语句涉及 7 张核心业务表的复杂关联,因索引缺失导致全表扫描,最终引发交易系统阻塞。这类场景在传统数据库开发中屡见不鲜:据 Gartne…...

21.1Linux中的LCD驱动实验(知识)_csdn

1、LCD 和 LTDC 简介 1.1、LCD 简介 1.1.1、分辨率 1.1.2、像素格式 可以看到红、绿、蓝每个8位&#xff0c;还有一位是A7~A0就是透明通道&#xff0c;32位ARG8888。 1.1.3、LCD 屏幕接口 1.1.4、LCD 时间参数 如果将 LCD 显示一帧图像的过程想象成绘画&#xff0c;那么…...

Angular教程前言:历史、安装与用途

Angular 是一个强大且流行的开源前端 Web 应用程序框架&#xff0c;由 Google 开发并维护 1。它在现代 Web 开发中占据着重要的地位&#xff0c;尤其在构建动态、高效且可扩展的 Web 应用程序方面表现出色&#xff0c;特别适用于单页应用程序 (SPA) 和复杂的用户界面 1。本教程…...

node.js模块化步骤(各标准区别)CommonJS规范、AMD规范、UMD规范、ES Modules (ESM)

前后端建议统一使用ESM 文章目录 Node.js模块化发展历程与标准对比一、模块化的意义1.1 解决的核心问题1.2 没有模块化的问题 二、CommonJS规范2.1 核心特征2.2 实现示例 三、AMD (Asynchronous Module Definition)3.1 特点3.2 代码示例 四、UMD (Universal Module Definition)…...

Unity图片导入设置

&#x1f3c6; 个人愚见&#xff0c;没事写写笔记 &#x1f3c6;《博客内容》&#xff1a;Unity3D开发内容 &#x1f3c6;&#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f50e;Unity支持的图片格式 ☀️BMP:是Windows操作系统的标准图像文件格式&#xff0c;特点是…...