- 博客(315)
- 资源 (7)
- 收藏
- 关注
原创 基于 Nginx 的高性能图片中转代理方案
本文提出了一种基于Nginx的高性能图片中转代理方案,解决HTTPS站点加载HTTP图片的混合内容警告和第三方资源站防盗链问题。方案通过Nginx代理层实现协议转换和请求头伪装,核心配置包括动态解析目标Host、头部清洗伪装、转发逻辑优化等关键技术。文章详细解析了协议自动转换、防盗链绕过等实现原理,并给出动态DNS解析、缓存优化等实施建议。该方案能有效解决浏览器安全警告,同时保证资源访问的兼容性和性能,适用于需要安全加载第三方图片资源的应用场景。
2026-01-30 16:23:57
346
原创 实战:构建基于 Docker-Compose 的HLS (m3u8) 实时转 FLV,基于 ZLMediaKit 的低延迟方案
摘要 本文介绍了一种基于Docker-Compose和ZLMediaKit的低延迟流媒体解决方案,实现HLS(m3u8)实时转FLV并自动清理闲置资源。方案包含:1)宿主机环境准备,创建持久化目录;2)定制精简版config.ini配置文件,重点优化资源回收机制;3)Docker-Compose编排服务,映射端口和挂载目录;4)前端验证页面示例代码。核心特点是支持按需生成HLS/FLV流,并在无人观看时自动关闭流以释放资源,通过配置streamNoneReaderDelayMS和segRetain等参数实现
2026-01-30 11:07:25
619
原创 告别延迟:HLS (m3u8) 实时转 FLV 全栈方案实战
摘要: 本文介绍了将HLS(m3u8)实时转换为FLV的低延迟解决方案。针对HLS的5-30秒延迟问题,提出了两种实现路径:1)基于FFmpeg的轻量级代码方案,适合临时演示;2)工业级ZLMediaKit方案,通过REST API实现高效流转换。重点讲解了ZLMediaKit的部署和使用方法,包括Docker启动、API调用和前端播放配置。文章还总结了常见问题解决方案,如404错误处理、CPU优化技巧和资源管理机制。建议开发者优先采用HTTP-FLV+flv.js组合实现低延迟,同时保留HLS作为兼容性备
2026-01-29 19:15:46
628
原创 Windows 11 无法删除 “nul“ 文件?—— 揭秘 MS-DOS 保留设备名陷阱
摘要: Windows 11中无法删除名为"nul"的文件,这是MS-DOS保留设备名(如CON、PRN等)导致的兼容性问题。这些40年前的设计在Windows NT中仍被保留,导致文件能显示但无法删除。解决方法包括:使用UNC路径(\\?\)、PowerShell强制删除、CMD命令或通过Linux子系统(WSL)绕过限制。此问题反映了Windows为兼容旧程序而保留的历史技术债务,建议避免使用保留名或添加扩展名规避问题。
2026-01-27 17:19:21
1082
原创 Docker 环境下 Paperless-ngx 中文增强版部署实战
USER root# 安装中文 OCR 语言包Paperless-ngx 想稳定支持中文 Word,不是装个 LibreOffice 就完事。Tika + Gotenberg 服务完整正确的启动顺序(healthcheck)中文 OCR 语言包非 root 用户运行稳定的 Docker 网络这套方案,已经在CentOS 7 / Windows Docker / 生产环境全部验证通过。可以放心直接用。
2026-01-18 16:57:30
626
原创 企业级 MySQL 8.0 物理备份实践:使用 XtraBackup 实现全量与增量自动备份
本文详细介绍了使用XtraBackup实现MySQL 8.0企业级物理备份的完整方案。主要内容包括:1) XtraBackup的热备份、物理备份和增量备份优势;2) CentOS 7下的安装配置及常见问题解决;3) 核心备份脚本(db_backup.sh)实现智能连接、重名处理和链式增量备份功能;4) 灾难恢复的详细步骤;5) 日常维护建议。该方案通过自动化脚本实现全量与增量备份,确保企业数据库的安全性和可恢复性,特别适合生产环境使用。
2026-01-04 20:05:27
487
原创 Spring Boot MCP(stdio)工具实现的注意事项(踩坑总结)
用 Web Spring Boot 的思维,去写一个“协议型命令行程序”没有控制台没有日志stdout 只服务协议👉 MCP 就会变得非常稳定、非常可靠。
2025-12-26 17:03:05
680
原创 零基础教程:在 Linux 上通过 Docker 快速部署 Dify
本文提供了在Linux服务器上通过Docker快速部署Dify平台的详细教程。Dify是一个强大的LLM应用开发平台,可用于构建AI助手和知识库。教程涵盖环境准备(最低2核CPU/4GB内存)、Docker安装、Dify源码下载、环境变量配置以及启动部署等步骤。部署完成后,用户可通过浏览器访问后台,设置管理员账号并配置模型API。文章还包含常见问题解决方法,如端口访问、镜像加速和平台更新等。该教程适合零基础用户快速搭建私有化AI开发环境。
2025-12-24 11:10:08
1435
原创 先立后破:Linux 下“新建管理员 → 验证 → 禁用 root 远程 SSH”的零翻车笔记
本文提供了一套零风险的Linux服务器安全加固流程,重点解决等保2.0要求的"禁用root远程SSH"需求。通过"先立后破"原则,先创建并验证新管理员账号的sudo权限,再禁用root远程登录,全程保持root会话不断开作为应急通道。关键步骤包括:创建新管理员账号、配置sudo权限、严格测试新账号功能、安全修改sshd配置、保留本地root登录权限等。文章特别强调验证环节的重要性,并提供了快速回滚方案,确保运维人员不会因配置失误导致服务器失联。这套方法适用于Kylin
2025-12-12 15:13:36
607
原创 Nginx IP 白名单终极指南:从全局到局部,定制专属拦截页面
在 Nginx 可访问的路径(例如或 Nginx 默认的html目录下)创建一个 HTML 文件,例如。
2025-11-28 10:34:48
768
原创 MySQL 5.7 数据恢复实战:仅凭 .frm 和 .ibd 文件实现数据重生
摘要:本文详细介绍如何在MySQL 5.7中仅凭.frm和.ibd文件恢复InnoDB表数据。首先使用mysqlfrm工具从.frm文件解析出表结构,修正建表语句后创建空表;然后通过DISCARD/IMPORT TABLESPACE机制导入.ibd文件数据。关键步骤包括:安装mysqlfrm、解析表结构、创建空表、复制.ibd文件并执行导入操作。文章特别提醒需确保表结构完全匹配,并提供了常见错误解决方法。该方案适用于MySQL 5.7默认启用innodb_file_per_table的情况。
2025-11-27 17:48:41
770
原创 Nginx多项目部署与缓存优化实战
摘要:本文分析了Nginx部署多个前端项目时静态资源加载失败的问题,详细解释了Nginx的location匹配优先级机制。给出了三种解决方案:为每个项目单独配置静态文件处理、使用alias指令以及调整匹配顺序和排除规则,并推荐了最佳实践,包括项目结构规划、缓存策略和版本控制等。文章强调合理配置Nginx可以实现多项目共存部署并保持静态资源缓存优化,关键在于理解location匹配机制并为每个项目明确指定资源路径,推荐采用方案1的结构化配置方式。
2025-11-20 16:55:33
422
原创 把“树”塞进 MySQL:从 FIND_IN_SET 全表扫到 30 ms 返回 3 万行,我的一次闭包表实战
摘要:本文分享了优化MySQL树形结构查询的实战经验。通过分析40万行行政区划数据查询慢的问题,发现FIND_IN_SET全表扫描是性能瓶颈。测试了普通索引、全文索引等方案均无效后,采用闭包表(Closure Table)设计:将节点信息与父子关系分离,使用触发器自动维护路径关系。结果使查询性能提升114倍(3.2s→28ms),且支持节点移动等复杂操作。文章还提供了零停机迁移方案,最终实现了MySQL高效树形查询。
2025-11-19 15:38:04
294
原创 当Spring Boot遇见“ClassNotFoundException:org.springframework.data.redis.connection.zset.Tuple“——一次排障记录
摘要:Spring Boot与Redisson版本冲突导致ClassNotFoundException的解决 问题表现:升级Redisson后出现ClassNotFoundException: org.springframework.data.redis.connection.zset.Tuple异常,虽然项目已引入spring-boot-starter-data-redis。 根本原因:高版本Redisson(3.23.4)依赖的API在低版本Spring Boot(2.5.14)中不存在,导致版本不兼容
2025-10-15 19:21:36
1204
原创 大文件断点续传解决方案:基于Vue 2与Spring Boot的完整实现
大文件断点续传解决方案摘要 本文介绍了基于Vue 2和Spring Boot的大文件断点续传实现方案,主要解决传统上传方式面临的网络不稳定、服务器压力大和用户体验差等问题。方案采用文件分片技术(如2MB/片)、MD5文件唯一标识和Redis记录上传状态等核心技术。前端使用Vue实现文件分片、上传控制和进度显示,后端通过Spring Boot提供分片上传、状态检查和文件合并接口,并利用Redis存储上传状态信息。系统支持暂停/继续上传、失败重试和重复文件检测功能,有效提升了文件上传的可靠性和用户体验。
2025-09-04 17:20:47
1191
原创 在 Debian 系统上安装 Redis服务
本文介绍了在Debian系统上安装Redis的三种方法:1)通过APT安装(推荐生产环境使用,简单稳定);2)手动编译安装(适合需要最新版本);3)使用Snap安装(适合快速测试)。详细说明了每种方法的安装步骤、配置文件路径、服务管理命令及验证方式,并提供了远程访问设置、性能优化等配置建议。最后通过对比表格总结了各方法的优缺点,APT安装最适合生产环境,源码编译适合需要最新版本,Snap则适合临时测试使用。
2025-08-08 18:48:31
766
原创 MySQL 启动报错:InnoDB 表空间丢失问题及解决方法InnoDB: Tablespace 5975 was not found at
该错误的根本原因可能是文件丢失或损坏,启用参数是短期内恢复 MySQL 服务的解决办法,但最好的做法是尽量避免数据丢失,定期备份和维护数据库。
2025-08-07 15:29:02
624
原创 MySQL中使用GROUP_CONCAT数据丢失问题的原因和处理方案
MySQL的GROUP_CONCAT函数数据丢失问题解析与解决方案 摘要:本文分析了MySQL中GROUP_CONCAT函数导致数据截断的常见原因,主要是由于系统变量group_concat_max_len的默认1024字节长度限制。解决方案包括临时/永久调整该参数值、优化查询方式以及预估数据大小等最佳实践。文章还提供了检查当前设置的方法和示例代码,帮助开发者正确处理大数据量合并场景,避免重要数据丢失。对于极大数据集,建议考虑应用层分批处理等替代方案。
2025-07-10 09:35:11
573
原创 Linux服务器快速搭建MinIO对象存储
本文详细介绍了在Linux服务器上搭建MinIO对象存储服务的完整步骤。从准备工作(系统要求、创建专用用户)开始,到下载安装MinIO、配置存储目录和环境变量,再到创建Systemd服务并启动。还包括验证安装、防火墙配置、Nginx反向代理设置以及MinIO客户端配置等可选步骤。文章最后强调了生产环境中的注意事项,如TLS加密、分布式部署和定期备份等。整个流程简明清晰,适合需要在Linux环境下快速部署MinIO服务的用户参考。
2025-07-02 16:26:53
397
原创 Spring Boot 集成 MinIO 实现分布式文件存储与管理
Spring Boot集成MinIO实现文件存储方案 本文介绍了如何在Spring Boot项目中集成MinIO分布式对象存储服务。MinIO是一个高性能、兼容S3 API的开源存储方案,具有轻量级、易部署等特点。 实现步骤: 添加MinIO Java SDK依赖 配置MinIO连接参数 创建MinioClient Bean 实现文件服务类,包含: 存储桶管理(创建、检查、列出) 文件上传下载 文件删除 获取文件URL 自动生成唯一文件名等功能 该方案提供了一套完整的文件存储管理实现,可用于企业级应用的分布
2025-07-02 16:24:44
1107
原创 Spring Boot 集成 Dufs 通过 WebDAV 实现文件管理
本文介绍了在Spring Boot中集成Dufs文件服务器通过WebDAV协议实现文件管理的方法。主要内容包括:添加Sardine WebDAV客户端依赖,配置Dufs连接参数,实现文件上传下载功能(支持多种下载方式),以及目录列表查询。文章提供了完整的配置类和服务层实现代码,其中文件下载特别设计了三种方案:ByteArrayResource适合小文件、StreamingResponseBody适合大文件、以及推荐的AbstractResource实现。通过WebDAV协议,开发者可以方便地在Spring
2025-07-01 15:26:25
1366
原创 Linux 部署轻量级文件存储:Dufs + 管理界面
本文介绍了使用Dufs在Linux上部署轻量级文件存储服务的完整方案。Dufs是一款基于Rust开发的跨平台开源文件服务器,具有体积小(4.37MB Docker镜像)、功能全面(支持WebDAV、权限控制、HTTPS等)、性能优异等特点。文章详细讲解了两种部署方式(Docker和二进制安装)、权限配置、系统服务设置等,并提供了Web管理界面使用指南和安全建议。相比Nginx等传统方案,Dufs更轻量且功能丰富,适合快速搭建文件共享服务,是个人和小团队文件存储的理想选择。
2025-07-01 14:39:01
1845
原创 在Windows上安装Go语言并配置开发环境
本文详细介绍了在Windows系统上安装配置Go语言开发环境的完整流程。从下载安装包、设置环境变量(GOROOT、GOPATH)、创建测试项目到配置Go Modules和推荐开发工具,逐步引导用户完成环境搭建。文章还提供了常见问题排查方法和环境验证脚本,确保用户能够顺利运行Go程序并开始开发工作。整个过程注重实用性和可操作性,适合Go语言初学者快速上手。
2025-06-24 10:22:30
3047
原创 在Linux上搭建FRP服务器及Docker部署FRP实现内网穿透方案二(Nginx前置 + FRP TCP穿透)
本文介绍了一种使用Nginx前置代理与FRP实现安全内网穿透的方案。该方案通过Nginx统一管理HTTPS证书和域名路由,FRP仅负责TCP层流量穿透,实现了多子域名共享443端口、证书集中管理等功能。文章详细说明了服务端(FRP+Nginx)和客户端的配置方法,包括Docker部署、端口映射、证书配置等关键步骤,并提供了安全加固建议和常见问题解决方案。该方案优势在于证书集中管理、性能优化以及扩展性强,适合生产环境使用。最终效果可通过不同子域名访问本地不同端口服务,所有HTTPS加密由Nginx统一处理。
2025-06-17 15:23:29
949
原创 在Linux上搭建FRP服务器及Docker部署FRP实现内网穿透方案一(FRP直接HTTPS)
FRP内网穿透部署指南(Linux/Docker) 本文详细介绍了FRP内网穿透解决方案的部署方法,涵盖Linux原生和Docker两种服务端部署方式。主要内容包括: FRP基础架构(frps/frpc)和版本变化 Linux原生部署步骤:下载配置、服务端设置、systemd守护进程 Docker部署方案:配置文件挂载、容器启动参数 客户端连接配置及SSH/Web/RDP等常见服务穿透示例 安全增强措施(端口限制、TLS加密)和常见问题排查 通过150字左右的简明摘要,概括了FRP从服务端搭建到客户端连接的
2025-06-16 18:23:51
2039
2
原创 Centos8 安装 达梦数据库
摘要: 本文详细介绍了在CentOS 8系统上安装达梦数据库的完整步骤。首先需从官网下载适配的安装包,安装必要的依赖项(如libaio),然后解压并校验安装文件。安装过程需遵循官方文档指导,配置环境变量,初始化数据库并启动服务。最后通过状态检查命令验证安装是否成功。该指南简明实用,帮助用户在CentOS环境下快速部署达梦数据库系统。
2025-06-12 09:49:28
882
原创 Ubuntu 24.04 上安装与 Docker 部署 Sentinel
本文介绍了在Ubuntu 24.04上部署阿里开源的Sentinel流量控制组件的两种方法:原生安装和Docker容器化部署。原生安装需配置Java环境并手动启动,适合开发测试;Docker方案通过官方镜像快速部署,推荐用于生产环境。文章详细说明了两种方式的安装步骤、配置要点及访问方式,并对比了其优缺点。最后给出了安全加固建议,包括修改默认密码、启用HTTPS和设置防火墙规则。Sentinel作为微服务流量防护组件,能有效提升系统稳定性,配合Nacos可实现规则持久化。部署问题可通过检查防火墙和容器日志进行
2025-06-11 18:15:44
964
原创 在Jenkins上配置邮箱通知
本文详细介绍了在Jenkins 2.504.2中配置邮箱通知的全流程。主要内容包括:准备SMTP信息、安装必要插件、全局系统配置(包含Jenkins Location和邮件通知设置)、测试邮件发送、可选扩展插件配置,以及项目级邮件规则设定。文章还提供了常见问题解决方案和最佳实践建议,如分级通知策略、邮件模板使用等。配置完成后,团队能及时获取构建状态通知,显著提升问题响应效率。适用于使用Jenkins进行持续集成的开发团队。
2025-06-10 15:48:13
1019
原创 Jenkins自动化部署Maven项目
本文详细介绍了使用Jenkins自动化部署Maven项目的完整流程。主要内容包括:环境准备(JDK、Maven、Docker)、Jenkins插件安装(Gitee、Maven、Docker等)、Gitee代码仓库连接配置、Maven项目创建与Git源码管理设置,以及关键的Docker构建部署步骤(包含镜像构建、容器启动等shell脚本)。文章还提供了高级Pipeline方案和常见问题解决方案,如权限配置、镜像版本管理和敏感信息保护,并建议后续可集成Kubernetes、SonarQube等技术扩展功能。
2025-06-05 23:17:05
1867
4
原创 Jenkins实现自动化部署Springboot项目到Docker容器(Jenkinsfile)
通过 Docker + Jenkins + Gitee 的自动化部署方案,您已经建立了高效的 CI/CD 流水线。每次代码提交都会自动触发构建、测试和部署流程,显著提升开发效率和应用可靠性。提示:本文所有配置文件和脚本可在Gitee示例仓库获取完整版本。扩展阅读Jenkins Pipeline 语法详解Docker 最佳实践Gitee Webhook 配置指南。
2025-06-05 20:55:23
1528
原创 在 Ubuntu 24.04 LTS 上安装 Jenkins 并配置全局工具(Git、JDK、Maven)
本文详细介绍了在Ubuntu 24.04 LTS上安装Jenkins并配置常用全局工具的完整流程。首先通过添加官方仓库安装Jenkins并完成初始化设置,然后逐步配置Git、OpenJDK 和Maven等核心工具。文章还提供了创建测试项目验证配置的方法,并给出了安全加固建议,包括防火墙设置和定期备份。这套方案为搭建完整的CI/CD环境提供了基础支持,适合开发团队快速部署自动化构建环境。所有步骤均包含详细的命令行操作和Jenkins界面配置说明。
2025-06-05 14:49:43
1461
原创 使用 Shell 脚本实现 Spring Boot 项目自动化部署到 Docker(Ubuntu 服务器)
本文介绍了使用Shell脚本实现Spring Boot项目自动化部署到Docker的完整流程。主要内容包括:1) 环境准备,要求本地安装Maven/JDK,服务器为Ubuntu并配置Docker;2) 编写部署脚本(deploy.sh)处理Docker镜像构建和容器启动;3) 创建自动上传脚本(deploy-to-server.sh)完成打包、文件传输和远程部署;4) 配置SSH免密登录实现自动化;5) 通过一条命令即可完成整个部署流程。文章还提供了常见问题解决方案,并建议可进一步集成CI/CD工具提升部署
2025-05-28 22:54:54
1188
1
原创 在 Ubuntu 22.04 LTS 上离线安装 Docker
本文详细介绍了在Ubuntu 22.04 LTS系统上离线安装Docker的完整步骤。首先需要获取目标系统信息,然后在联网机器上下载必要的Docker安装包(.deb格式),包含containerd.io、docker-ce-cli、docker-ce等核心组件。接着将打包的安装文件传输到目标服务器,使用dpkg命令进行离线安装,并处理可能的依赖问题。安装完成后,启动Docker服务并通过version和info命令验证安装是否成功。最后还提供了配置国内镜像加速器的可选步骤,以提高拉取镜像的速度。
2025-05-28 10:10:08
1811
原创 在 macOS 上安装 jenv 管理 JDK 版本
jenv 是一个用于管理多个 JDK 版本的工具,特别适合在 macOS 上使用。通过 Homebrew 可以轻松安装 jenv,并将其初始化脚本添加到 shell 配置文件中。安装完成后,用户可以将已安装的 JDK 版本添加到 jenv 中,并通过简单的命令在全局或局部范围内切换 JDK 版本。例如,使用 jenv global 设置全局默认版本,或使用 jenv local 为特定项目设置局部版本。jenv 使得在不同项目中使用不同 JDK 版本变得非常便捷,极大地简化了 Java 开发环境的管理。
2025-05-22 00:16:20
2079
原创 MYSQL8.0常用窗口函数
本文详细介绍了MySQL 8.0中常用窗口函数的基本概念、语法结构及其应用。窗口函数允许在查询结果集的特定“窗口”内进行数据计算和分析,而不会改变行数。常见的窗口函数包括排序函数(如ROW_NUMBER()、RANK()、DENSE_RANK())、聚合函数(如SUM()、AVG())以及偏移函数(如LAG()、LEAD())。文章还探讨了窗口函数的应用场景,如排名与分页、分组统计、数据对比与趋势分析、数据填充与补全等。此外,提供了性能优化建议和使用注意事项,如合理使用索引、缩小窗口范围、避免重复计算等。通
2025-05-19 23:12:14
1037
原创 Nginx 中 `root` 和 `alias` 的区别与使用场景
特性rootalias路径处理方式将请求路径附加到指定路径后面将请求路径的前缀替换为指定路径适用场景适用于请求路径和文件路径一致的情况适用于请求路径带有前缀的情况路径重复问题可能导致路径重复不会导致路径重复配置复杂度较简单稍复杂,需要明确路径替换规则root和alias都是 Nginx 中用于处理静态文件路径的指令,但它们的处理方式和适用场景有所不同。通过理解它们的区别,你可以更灵活地配置 Nginx,以满足不同的需求。
2025-04-24 15:41:09
741
原创 MySQL 启动报错:InnoDB 表空间丢失问题及解决方法
该错误的根本原因可能是文件丢失或损坏,启用参数是短期内恢复 MySQL 服务的解决办法,但最好的做法是尽量避免数据丢失,定期备份和维护数据库。
2025-04-22 16:55:10
852
原创 Java集成Zxing和OpenCV实现二维码生成与识别工具类
本文将介绍如何使用Java集成Zxing和OpenCV库,实现二维码的生成和识别功能。OpenCV预处理:在识别二维码时,使用OpenCV对图像进行灰度化和二值化处理,可以显著提高识别率,特别是对低质量或模糊的二维码图像。这个工具类结合了Zxing的高效二维码生成/识别能力和OpenCV强大的图像处理能力,可以满足大多数Java项目中二维码处理的需求。添加Logo:可以在生成二维码时添加中心Logo,增强品牌识别度。批量处理:扩展工具类支持批量生成和识别二维码。性能监控:添加耗时统计和性能监控功能。
2025-04-22 13:44:23
643
原创 Spring Boot 中集成 Knife4j:解决文件上传不显示文件域的问题
在使用 Knife4j 为 Spring Boot 项目生成 API 文档时,开发者可能会遇到文件上传功能不显示文件域的问题。本文将详细介绍如何解决这一问题,并提供完整的解决方案。
2025-04-09 15:46:58
1198
原创 记录一次在浏览器中无法获取摄像头权限的原因和处理方式
Microsoft Edge网页调用摄像头失败(设置权限处按钮为灰色不可修改)的原因和解决方法
2025-04-02 11:46:33
5575
资源服务器授权配置.doc
2020-10-16
网关与Jwt令牌.doc
2020-10-16
oauth认证中心.doc
2020-10-16
RedisDesktopManager 2021 of Mac
2023-06-15
Termius(Shell)of Mac
2023-06-15
SourceTree(Git)of Mac
2023-06-15
Oracle使用EasyCode代码生成模板
2022-12-17
es搜索引擎.doc
2020-10-16
mydubbo.7z
2020-11-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅