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

Ubuntu系统保姆级Paperless-ngx部署指南:零基础实现文档云端化管理

文章目录

    • 前言
    • 1.关于Paperless-ngx
    • 2.Docker部署
    • 3.简单使用paperless
    • 4.安装cpolar内网穿透
    • 5. 配置公网地址
    • 6. 配置固定公网地址
    • 总结

前言

在当今快节奏的办公环境中,文档管理成为了一个不可忽视的问题。想象一下这样的场景:你需要一份重要的合同,却在堆积如山的文件中迷失了方向。你手忙脚乱地翻找,汗水顺着额头滴落,心里默念:“快出现吧,合同!”但现实总是残酷的——你最终还是没有找到。这不就是现代办公室版的“西游记”吗?

随着数字化时代的到来,传统的纸质文档管理方式已经无法满足高效办公的需求。如何将这些文件有序地管理和检索,成为了许多企业和个人面临的一大挑战。为了解决这一问题,一款强大的文档管理工具——Paperless-ngx应运而生。

img

1.关于Paperless-ngx

Paperless-ngx是一款功能强大、易于使用的开源文档管理工具。它不仅能够将你的纸质文件转换成电子版,并存储在云端或本地服务器上,还能通过自动OCR(光学字符识别)技术提取文字内容并进行索引化,方便你随时搜索和管理。

img主要特点:

  1. 自动OCR识别:上传的文档会自动进行OCR处理,将文字内容提取出来,支持多种文件格式,如PDF、图片等。
  2. 全文搜索:强大的搜索功能让你可以轻松找到包含特定关键词的所有文档,再也不用担心找不到需要的文件了。
  3. 标签与分类:为文档添加标签和分类,让文件管理更加有序。你可以根据项目、日期或任意自定义标签来组织文档。
  4. 安全可靠:支持用户权限管理和数据加密,确保你的文档安全无虞。
  5. 远程访问:通过配置反向代理(如Nginx)或使用cpolar等工具,你可以在任何地方轻松访问和管理文档。

2.Docker部署

本例使用Ubuntu 22.04进行演示,使用Docker进行部署,如果没有安装Docker,可以查看这篇教程进行安装:《Docker安装教程——Linux、Windows、MacOS》

准备好体验Paperless-ngx的乐趣了,最简单方便的方式就是使用docker安装脚本。

需要准备一个支持Docker的环境,确保你有Docker和Docker Compose安装好。

通过将用户添加到docker用户组可以将sudo去掉,命令如下:

sudo groupadd docker

将登录用户加入到docker用户组中:

sudo gpasswd -a $USER docker

更新用户组:

newgrp docker

image-20250324174322014

接着输入Paperless-ngx一键安装脚本:

bash -c "$(curl --location --silent --show-error https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/install-paperless-ngx.sh)"

image-20250324174341871

可以看到下方开始有提示,URL这里我回车跳过了

image-20250324174907360

上面几个直接回车跳过,最后一个问你是否启用Apache Tika回答yes。

image-20250325100402387

上面的意思是选择OCR语言,给列出了四种语言。我这里直接回车

image-20250325101809649

上面的意思是可以设置用户ID,不确定可以保留默认值,我这里直接默认回车。会出现一个group ID,我这里也一样回车跳过。

image-20250325101932739

这里的意思是目标文件夹用于存放的配置文件,看一下这个路径可以的话就回车默认,也可以自行修改,我这里回车。

image-20250325102255823

消费文件夹路径,我这里继续回车默认,可自行修改,上面有格式举例。

image-20250325102420570

这里的意思是媒体文件夹路径,Docker通常将托管文件夹存储在我红框的路径中,我这里回车默认,可以自行修改。

image-20250325102532366

数据文件夹路径,我与媒体文件夹一样留空,以便由docker管理。

image-20250325102837558

进入到3登录凭证,这里输入你的Paperless用户名,密码,确认密码和邮箱。

image-20250325102914090

这里是你设置完后的总结,各种文件夹路径,和用户名邮箱,按任意键继续安装。

image-20250325110101321

安装完成后打开浏览器输入localhost:8000,能看到进入到paperless的登录页面了。根据刚才你自己设置的用户名和密码即可登录。

image-20250325110427854

3.简单使用paperless

能看到paperless的界面还是很简洁的。image-20250325110730729

这里可以选择语言,记得点下面的save保存后刷新。

image-20250325111939669

点击这里的开始导览,会教你使用paperless,好好学习哦。

image-20250325112039942

我这里尝试先上传一个文件,直接在首页(仪表盘)这里点击上传,或者拖拽都可以。

image-20250325114231442

几秒钟的时间,文件就会出现在“文档”菜单中。

image-20250325114306692

4.安装cpolar内网穿透

不过我们目前只能在本地局域网内访问刚刚部署的paperless,如果想不在同一局域网内时,也能在外部网络环境使用手机、平板、电脑等设备远程访问与使用它,应该怎么办呢?我们可以使用cpolar内网穿透工具来实现远程访问的需求。无需公网IP,也不用准备云服务器那么麻烦。

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

使用一键脚本安装命令:

sudo curl https://get.cpolar.sh | sh

18e1ff08f3cf50d220443a24ac52347

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

d06f9f2b479bc4920a509335a43c485

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

0eaf2de1254b44b55650dce3b66016e

5. 配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:paperless,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:8000
  • 域名类型:随机域名
  • 地区:选择China Top

点击创建:

image-20250325135910892

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用任意一个地址在浏览器中访问即可。

image-20250325135945045

现在就已经成功实现使用cpolar生成的公网地址异地远程访问本地部署的paperless啦!

小结

为了方便演示,我们在上边的操作过程中使用cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期使用paperless,或者异地访问与使用其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想让公网地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来配置公网地址。

6. 配置固定公网地址

使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,我这里演示使用的是paperless,大家可以自定义。填写备注信息,点击保留。

image-20250325140142673

保留成功后复制保留的二级子域名地址:

image-20250325140201460登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道paperless,点击右侧的编辑

image-20250325140231866

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20250325140255760

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20250325140318556

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问本地部署的paperless页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

image-20250325140400974

总结

现在你已经成功安装并配置了Paperless-ngx,是不是感觉文档管理变得轻松多了?无论是日常办公还是项目管理,它都能为你提供强大的支持。如果你需要在任何地方访问文档,cpolar是一个非常实用的工具。

Paperless-ngx 适用于那些需要系统化管理文件的个人及团队,帮助用户建立高效的文档归档与检索机制,有效减少纸质文档使用和保存压力。特别是当你习惯了它的OCR识别与智能分类后,会发现生活和工作的确更加有条理,效率也有了质的提升。这是一款从用户体验出发、贴心又实用的工具,想要让办公更高效的朋友们,不妨试试看吧!

开源地址:https://github.com/paperless-ngx/paperless-ngx

相关文章:

Ubuntu系统保姆级Paperless-ngx部署指南:零基础实现文档云端化管理

文章目录 前言1.关于Paperless-ngx2.Docker部署3.简单使用paperless4.安装cpolar内网穿透5. 配置公网地址6. 配置固定公网地址总结 前言 在当今快节奏的办公环境中,文档管理成为了一个不可忽视的问题。想象一下这样的场景:你需要一份重要的合同&#xf…...

资本运营:基于Python实现的资本运作模拟

基于Python实现的一个简单的资本运营框架; ​企业生命周期演示:观察初创→成长→上市→并购全流程 ​行业对比分析:不同行业的财务特征和估值差异 ​资本运作策略:体验IPO定价、投资决策、并购整合等操作 ​市场动态观察&#xff…...

每日总结3.27

蓝桥刷题 1. 团建 &#xff08;树dfs&#xff09; #include <bits/stdc.h> using namespace std; const int N200005; int a[N],b[N]; int ans; map<int,vector<int>>m1,m2; void dfs(int x,int y,int count) { if(a[x]!b[y]) {return;} ansmax(ans,c…...

3-2RYU控制器应用程序开发(一)

图1 SDN框架 通过利用Ryu框架的丰富功能以及RYU应用程序开发中的事件驱动&#xff08;装饰器&#xff09;的编程模型&#xff0c;我们能够开发符合需求的SDN控制器应用程序。通过开发的RYU控制器可以实现各种网络策略控制和管理功能。在SDN软件定义网络编程中&#xff0c;RYU应…...

算法250327题目

1114: 4006 AB问题 题目描述 给定两个整数A和B&#xff0c;其表示形式是&#xff1a;从个位开始&#xff0c;每三位数用逗号,隔开。 现在请计算AB的结果&#xff0c;并以正常形式输出。 输入 输入包含多组数据&#xff0c;每组数据占一行&#xff0c;由两个整数A和B组成&am…...

数据结构:汉诺塔问题的递归求解和分析

递归方法求解该类问题&#xff0c;是一种简单的思维方法&#xff0c;通常比使用迭代方法更简单。但是&#xff0c;递归方法也有劣势。此处以典型的汉诺塔问题&#xff08;Tower of Hanoi&#xff09;为例给予说明。 汉诺塔是根据一个传说形成的数学问题&#xff0c;最早是由法国…...

编辑器检视器面板简单扩展2+编辑器检视器面板深度扩展1

枚举检视器面板显示 代码&#xff1a; public enum Profession {Warrior0,Wizard } public Profession Pro; //在类中声明 小齿轮增加回调函数 点击控制台输出&#xff1a; 代码&#xff1a; [ContextMenu("输出攻防比")]public void PrintADProportion(){Debug…...

二分查找模板--从题目中讲解三大二分模板

二分查找的特点&#xff1a;最恶心、细节最多、最容易写出死循环的算法 目录 1.朴素的二分模板 1.1题目链接&#xff1a;704.二分查找 1.2题目描述&#xff1a; 1.3算法流程&#xff1a; 1.4算法代码&#xff1a; 1.5朴素二分模板&#xff1a; 2.查找左,右边界的二分模板…...

EF Core 执行原生SQL语句

文章目录 前言一、执行查询&#xff08;返回数据&#xff09;1&#xff09; 使用 FromSqlRaw或 FromSqlInterpolated 方法&#xff0c;适用于 DbSet<T>&#xff0c;返回实体集合。2&#xff09;结合 LINQ 查询3&#xff09;执行任意原生SQL查询语句&#xff08;使用ADO.N…...

HiveChat:提升团队协作效率的AI聊天应用

什么是 HiveChat &#xff1f; HiveChat 作为一款专为中小团队设计的 AI 聊天应用&#xff0c;支持 Deepseek、Open AI、Claude、Gemini 等模型。管理员一人配置&#xff0c;全团队轻松使用各种 AI 模型。凭借其强大的功能和便捷的操作&#xff0c;有望成为团队沟通协作的得力助…...

python中的继承

目录 一、继承 单继承 多继承 方法的重写 一、继承 在Python中&#xff0c;继承是面向对象编程中的重要概念&#xff0c;它允许一个类&#xff08;子类&#xff09;继承另一个类&#xff08;父类&#xff09;的属性和方法。子类可以继承父类的属性和方法&#xff0c;并且可…...

Vulnhub靶场FALL靶机通关攻略

1.打开靶机和kali 2.扫描靶机ip ​​​​​ 靶机ip为192.168159.158 3.访问下网站 翻阅一下 可能存在后门 网站根目录下可能有线索 4.爆破目录 ir -u http://192.168.159.158 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x .php,.bak,.txt,.sh,.ht…...

Java基础概念汇总

JavaEE Java基础概念面试题详解1. Java的特点是什么&#xff1f;2. Java和C的区别有哪些&#xff1f;3. 什么是JDK、JRE和JVM&#xff1f;它们之间有什么关系&#xff1f;4. Java是编译型语言还是解释型语言&#xff1f;5. Java如何实现跨平台&#xff1f; 数据类型与变量面试题…...

【服务端】使用conda虚拟环境部署Django项目

写在开头 为了与客户端的Deep search配合&#xff0c;需要整一个后台管理来保存和管理deep search的数据资料。选择前端框架Vue-Vben-Admin Django后台服务来实现这个项目。 废话结束&#xff0c;从零开始。。。。 一、环境搭建 1. 安装 Anaconda 下载 Anaconda&#xff1…...

基于Pycatia的智能孔特征识别技术:无参模型圆心自动化提取方案

引言 本文介绍了一种基于Pycatia二次开发的无参数模型孔特征识别技术&#xff0c;通过拓扑分析与几何特征检测双验证机制&#xff0c;实现圆形孔边线的精准识别及圆心坐标自动化生成。该方案可有效解决逆向工程、质量检测等场景下非参数化模型的孔位分析难题&#xff0c;提升三…...

cpu 比较低,load 比较高怎么解决

当系统出现 CPU 使用率低但 Load Average(系统负载)高 的情况时,通常意味着系统资源瓶颈不在 CPU,而可能出现在其他环节(如 I/O 等待、锁竞争、大量进程排队等)。以下是排查和解决问题的详细步骤: 一、理解 Load Average 的含义 Linux 系统的 Load Average 表示 单位时…...

qt QQuaternion详解

1. 概述 QQuaternion 是 Qt 中用于表示三维空间中旋转的四元数类。它包含一个标量部分和一个三维向量部分&#xff0c;可以用来表示旋转操作。四元数在计算机图形学中广泛用于平滑的旋转和插值。 2. 重要方法 默认构造函数 QQuaternion::QQuaternion(); // 构造单位四元数 (1…...

伊利工业旅游4.0,近距离感受高品质的魅力

3月24日&#xff0c;在2025年第112届全国糖酒会&#xff08;简称春糖&#xff09;前夕&#xff0c;伊利集团“可感知高品质探寻荟”活动在成都召开&#xff0c;记者走进伊利在西南地区最大的乳制品生产基地—邛崃工厂&#xff0c;零距离见证液态奶、酸奶、冷饮等乳制品的诞生&a…...

前端面经分享(25/03/26)

北京一家做AI解决方案的公司&#xff0c;技术一面&#xff0c;15k-20k&#xff0c;要求3-5年 你们React项目里路由模式用的什么React里class组件和function组件都用过吗常用Hook&#xff0c;解释一下他们的作用useEffect第二个参数填空数组和不填有什么区别React组件通信的常用…...

unity实现图片查看器有限制的移动缩放功能

需求 unity实现键盘wasd键控制图片的移动&#xff0c;图片长度未超出屏幕不能移动&#xff0c;宽度未超出屏幕不能移动。jk键控制图片的缩放&#xff0c;缩放有限制 using UnityEngine;public class ImageController : MonoBehaviour {[Header("移动设置")]public f…...

STM32基础教程——输入捕获模式测量PWM频率

目录 前言 技术实现 原理图 连线图 代码实现 内容要点 PWM基本结构 开启外设时钟 配置GPIO端口 配置时基单元 初始化输出比较单元 输出比较通道重映射 输入捕获功能初始化 计算捕获PWM的频率 实验结果 问题记录 前言 IC&#xff08;Input Capture&#xff09;输…...

【redis】集群 如何搭建集群详解

文章目录 集群搭建1. 创建目录和配置2. 编写 docker-compose.yml完整配置文件 3. 启动容器4. 构建集群超时 集群搭建 基于 docker 在我们云服务器上搭建出一个 redis 集群出来 当前节点&#xff0c;主要是因为我们只有一个云服务器&#xff0c;搞分布式系统&#xff0c;就比较…...

Linux应用:线程基础

线程介绍 进程是程序在操作系统里的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的一个执行单元&#xff0c;是 CPU 调度和分派的基本单位。一个进程可以包含多个线程&#xff0c;这些线程共享进程的资源&#xff0c;如内存空间、文…...

力扣HOT100之普通数组:238. 除自身以外数组的乘积

这道题不能使用除法&#xff0c;我第一时间想到用前缀表和后缀表来解决&#xff0c;假设数组nums的长度为n&#xff0c;我们直接定义前缀表pre和后缀表suf&#xff0c;其中pre[i] pre[i - 1] * nums[i - 1] nums[0] * nums[1] * ... * nums[i - 1] &#xff0c;而suf[j] suf…...

PHP回调后门小总结

目录 1.call_user_func 函数说明 蚁剑连接 2.数组操作造成的单参数回调后门 array_filter 函数说明 蚁剑连接 array_map 函数说明 蚁剑连接 3.二参数回调函数 uasort 函数说明 uksort array_reduce array_udiff 蚁剑连接 4.三参数的回调后门 array_walk 函数说…...

《深度剖析SQL数据类型转换:隐式与显式的奥秘》

在SQL的世界里&#xff0c;数据类型转换是一个基础且关键的操作&#xff0c;它贯穿于数据库开发、管理与数据分析的各个环节。数据类型转换分为隐式转换和显式转换&#xff0c;二者各有特点与应用场景&#xff0c;深刻理解它们对于编写高效、稳定的SQL代码至关重要。 一、数据…...

通过TIM+DMA Burst 实现STM32输出变频且不同脉冲数量的PWM波形

Burst介绍&#xff1a; DMA控制器可以生成单次传输或增量突发传输&#xff0c;传输的节拍数为4、8或16。 为了确保数据一致性&#xff0c;构成突发传输的每组传输都是不可分割的&#xff1a;AHB传输被锁定&#xff0c;AHB总线矩阵的仲裁器在突发传输序列期间不会撤销DMA主设备…...

多线程 --- 多线程编程

在写代码的时候&#xff0c;可以使用多进程进行并发编程&#xff08;在Java中&#xff0c;不太推荐&#xff0c;很多很多关于进程相关的API&#xff0c;在Java标准库中&#xff0c;都没有提供&#xff09;&#xff0c;也可以使用多线程进行并发编程&#xff08;系统提供了多线程…...

利用新一代雷达传感器增强ADAS系统的检测和计算(TI文档)

摘要 德州仪器 (TI) 的新一代雷达传感器AWR2E44P和AWR2944P推动了TI的ADAS雷达产品系列发展&#xff0c;专注于提 高性能以满足严格的 NCAP&#xff08;新车评估计划&#xff09;和 FMVSS&#xff08;联邦机动车辆安全标准&#xff09;自动驾驶和安全法规。这些雷 达器件为 AWR…...

前端工程化开篇

前端发展史梳理&#xff1a; 最早的html&#xff0c;css&#xff0c;js是前端三剑客&#xff0c;足以实现所有的前端开发任务&#xff0c;但是呢&#xff0c;一个简单的前端交互效果可能就需要一大堆的代码去实现。 后来呢&#xff0c;有了前端库jQuery&#xff0c;他可以使前…...

Android 问真八字-v2.1.7[看八字APP]

Android 问真八字 链接&#xff1a;https://pan.xunlei.com/s/VOMMuCVQRQrM2vRsHj14SsO0A1?pwdavzw# Android 问真八字-v2.1.7[看八字APP]...

go - grpc入门

前期准备 工具安装及使用 grpc开发 编写proto文件 proto文件是符合Protocol Buffers语言规范的数据交换协议文件&#xff0c;就像以前WebService定义服务时使用的XML文件。现在一般都是用proto3了&#xff0c;这里创建一个名为 hello.proto 的文件&#xff0c;放到项目的pr…...

Linux操作系统配置本地yum源和定时任务

操作系统环境&#xff1a;CentOS 7.2 本地yum源配置 1.挂载镜像 mount /dev/cdrom /mnt/cdrom 2.备份原yum配置 mv /etc/yum.repos.d /etc/yum.repos.d.bak 3.创建本地yum源配置文件 mkdir /etc/yum.repos.d vi /etc/yum.repos.d/CentOS-local.repo 添加内容&#xff1a; #本…...

【活动回顾】StarRocks Singapore Meetup #2 @Shopee

3 月 13 日&#xff0c;StarRocks 社区在新加坡成功举办了第二场 Meetup 活动&#xff0c;主题为“Empowering Customer-Facing Analytics”。本次活动在 Shopee 新加坡办公室举行&#xff0c;吸引了来自 Shopee、Grab 和 Pinterest 的专家讲师以及 50 多位参会者。大家围绕电商…...

优选算法——双指针专题

本章先分享关于优选算法的双指针的思路&#xff1a; 主要是以题目来展示常见使用双指针的思路。 ps: 双指针做法&#xff1a;不要被表面所迷惑&#xff0c;它其实是通过用一个数组的下标来充当指针 数组分两块&#xff1a;是⾮常常⻅的⼀种题型&#xff0c;主要就是根据⼀种…...

深度解析:TOML、XML、YAML及其他配置/数据格式对比

深度解析&#xff1a;TOML、XML、YAML及其他配置/数据格式对比 在软件开发和系统配置中&#xff0c;选择合适的配置或数据格式至关重要。本文将对比 TOML、XML、YAML 等常见格式&#xff0c;梳理它们的核心特性、适用场景及区别&#xff0c;并扩展介绍其他类似格式&#xff0c…...

冗余技术:堆叠技术+链路聚合

目录 前言 一.堆叠技术概述 二.堆叠技术原理 三.堆叠系统登录 四.堆叠合并/分裂 4.1 堆叠双主检测机制&#xff08;MAD&#xff09; 五.链路聚合技术概述 六.链路聚合模式 前言 在硬件加速与数据爆炸时代&#xff0c;堆叠技术通过模块化分层设计&#xff0c;实现资源动…...

存储服务器是指什么

今天小编主要来为大家介绍存储服务器主要是指什么&#xff0c;存储服务器与传统的物理服务器和云服务器是不同的&#xff0c;其是为了特定的目标所设计的&#xff0c;在硬件配置方式上也有着一定的区别&#xff0c;存储空间会根据需求的不同而改变。 存储服务器中一般会配备大容…...

文件上传绕过的小点总结(8)

16.apache解析漏洞条件竞争 class MyUpload{.................. var $cls_arr_ext_accepted array(".doc", ".xls", ".txt", ".pdf", ".gif", ".jpg", ".zip", ".rar", ".7z",&q…...

设计模式-结构型模式-外观模式

概述 外观模式 : Facade Pattern : 是一种 结构型设计模式. 它为复杂子系统提供一个简化的统一接口&#xff0c;使得客户端无需直接与子系统的各个组件交互&#xff0c;从而降低系统的耦合性。 核心思想 统一接口&#xff1a;将多个子系统的复杂操作封装到一个“外观类”中&…...

DeepSeek 本地部署指南

文章目录 DeepSeek 本地部署指南一、前言二、部署前的准备工作2.1 硬件要求2.2 软件环境 三、模型下载四、本地部署步骤4.1 检查硬件加速支持4.2 部署模型4.3 优化部署 五、常见问题及解决方法5.1 内存不足5.2 模型下载失败5.3 GPU 无法使用 六、总结 DeepSeek 本地部署指南 一…...

Windows Server 2025 使用 IIS 搭建 ASP.NET 3.5 网站

开启远程桌面 参考文章Windows server开启远程桌面教程打开服务管理器。ECS 配置安全组&#xff0c;开启 3389Telnet 验证网络联通性 telnet x.x.x.x 338安装 Windows App&#xff0c;登录验证 安装 ASP.NET 3.5 1.参考文章Windows Server 2012安装 .NET Framework 3.5和 Wi…...

python每日十题(12)

根据字典的索引方式可知&#xff0c;d.get( egg ,no this food)索引的是字典第一层&#xff0c;但是第一层只有键food&#xff0c;没有键egg&#xff0c;故索引不出值&#xff0c;输出的是“no this food ”。 外层for循环是将a[0][1,2,3],a[1][4,5,6],a[2][7,8,9]依次赋给变量…...

Podman 学习总结

Podman 概述 什么是 Podman&#xff1f; Podman&#xff08;Pod Manager&#xff09;是一个开源的容器管理工具&#xff0c;类似于 Docker&#xff0c;可以用于拉取、运行、管理容器镜像。Podman 采用 无守护进程****&#xff08;Daemonless&#xff09; 的架构&#xff0c;使…...

作业14 (2023-05-22_const修饰指针)

第1题/共5题【单选题】 C程序常见的错误分类不包含:( ) A.编译错误 B.链接错误 C.栈溢出 D.运行时错误 回答正确 答案解析: 栈溢出是运行时错误的一种,因此C程序不会将栈溢出错误单独列出来,栈溢出包含在运行时错误中。 因此:选择C 第2题/共5题【单选题】 以下关于…...

Qt 线程和 QObjects

线程和 QObjects QThread 继承于 QObject。 它发出信号来指示线程开始或结束执行&#xff0c;并提供一些插槽。 更有趣的是&#xff0c;QObjects 可以在多个线程中使用&#xff0c;发出信号以调用其他线程中的插槽&#xff0c;并向 "生活 "在其他线程中的对象发布事件…...

cocos creator 笔记-路边花草

版本&#xff1a;3.8.5 实现目标&#xff1a;给3d道路生成路边景观花草 在场景下创建一个节点&#xff0c;我这里种植两种花草模型&#xff0c;兰花和菊花&#xff0c;所以分别在节点下另创建两个节点&#xff0c;为了静态合批。 1.将花草模型分别拖入场景中&#xff0c;制作…...

基于SpringBoot+Vue3实现的宠物领养管理平台功能十六

一、前言介绍&#xff1a; 1.1 项目摘要 随着社会经济的发展和人们生活水平的提高&#xff0c;越来越多的人开始关注并参与到宠物领养中。宠物已经成为许多家庭的重要成员&#xff0c;人们对于宠物的关爱和照顾也日益增加。然而&#xff0c;传统的宠物领养流程存在诸多不便&a…...

MOSN(Modular Open Smart Network)-05-MOSN 平滑升级原理解析

前言 大家好&#xff0c;我是老马。 sofastack 其实出来很久了&#xff0c;第一次应该是在 2022 年左右开始关注&#xff0c;但是一直没有深入研究。 最近想学习一下 SOFA 对于生态的设计和思考。 sofaboot 系列 SOFAStack-00-sofa 技术栈概览 MOSN&#xff08;Modular O…...

数据仓库pinia中,getter和actions有什么区别

将计算逻辑放在 getters 还是 actions 里&#xff0c;取决于具体的使用场景和需求&#xff0c;下面详细分析放在 getters 中的优势以及和 actions 的区别&#xff0c;以说明是否有必要放在 getters 里&#xff1a; 1. getters 的优势 缓存特性 getters 具有类似 Vue 计算属性…...