Docker中Nginx中文乱码与配置热更新实战
1. 项目概述为什么在 Docker 里跑 Nginx 还要操心中文乱码和配置挂载你刚用docker run -d -p 80:80 nginx跑起一个 Nginx 容器浏览器一刷——页面能打开但网页里的中文标题、按钮文字、日志输出全变成方块或问号想改个server_name或加个location /api代理规则发现容器里连vi都没装/etc/nginx/nginx.conf改了重启又还原更别提每次docker commit打镜像、推仓库、拉新镜像光是等构建就浪费三分钟。这不是“Docker 化”了这是把传统运维的坑原封不动搬进了容器里。这个问题背后其实踩中了三个关键认知断层第一Docker 容器不是虚拟机——它默认不继承宿主机的 locale 环境字符集缺失是常态第二Nginx 配置不可热更新——哪怕只改一行charset utf-8;也必须重载或重启进程而直接进容器改文件等于白干第三配置与运行时必须分离——把配置硬编码进镜像就违背了“一次构建、处处运行”的核心原则。我带过的某高校实验室项目里学生反复重打镜像导致 Git 提交记录里全是nginx: fix typo in conf最后 CI 流水线卡在镜像层缓存失效上整整两天没跑通前端联调。所以这个标题不是教你怎么“启动一个 Nginx”而是解决一个真实生产级闭环让 Nginx 在容器中稳定承载中文内容服务配置可版本化管理、可灰度变更、可审计回滚且无需重启容器即可生效。适合三类人直接抄作业一是刚从传统服务器迁移到容器的运维同学二是需要快速搭静态站/反向代理的开发同学三是正在写毕业设计或课程实验报告、要求体现“容器化部署规范”的学生。下面所有操作我都基于实测环境Ubuntu 22.04 Docker 24.0.7 官方 nginx:alpine 镜像展开参数、路径、命令全部可粘贴即用不玩虚的。2. 整体设计思路为什么选挂载而非 COPY为什么必须重设 locale先说结论配置文件必须通过-v挂载容器启动命令必须显式声明LANGC.UTF-8二者缺一不可。这不是最佳实践建议而是 Nginx 在容器中正确显示中文的硬性前提。我试过七种组合只有这一种能 100% 复现稳定效果。2.1 配置挂载 vs 镜像内嵌一次改配置全局生效很多人习惯用Dockerfile把nginx.confCOPY进镜像FROM nginx:alpine COPY ./nginx.conf /etc/nginx/nginx.conf这看似干净实则埋下三颗雷无法热更新改完配置必须docker build→docker push→docker pull→docker restart整个流程 3 分钟起步线上紧急修复根本等不起配置不可审计nginx.conf版本散落在不同镜像层里查某次 502 错误到底是哪版配置导致的得翻 Docker Registry 的 layer ID比查 Git 历史还费劲环境耦合严重同一份nginx.conf在测试环境用proxy_pass http://test-api生产环境该换https://prod-api难道要维护两套镜像而挂载方案-v $(pwd)/conf:/etc/nginx/conf.d:ro直接把配置从镜像剥离配置文件存在宿主机用git status一眼看出谁改了哪行修改后执行docker exec container nginx -s reload0.2 秒完成重载连接不断开同一份镜像挂载不同目录的配置就能同时跑测试、预发、生产三套环境CI/CD 流水线只需控制挂载路径变量。提示务必加:roread-only后缀。我曾因漏写导致容器内 Nginx 进程意外覆盖宿主机配置把upstream里所有server地址全删成空行线上流量瞬间 502。只读挂载是安全底线。2.2 字符集乱码的本质容器里压根没有中文支持你以为乱码是 Nginx 没配charset utf-8;错。这是更底层的问题Alpine Linux 镜像默认不安装 glibc locale 数据包LANG环境变量为空locale -a | grep zh返回空连中文字符集定义都不存在。此时即使 Nginx 配了charset utf-8系统层面连UTF-8编码都识别不了更别说渲染字体。官方nginx:alpine镜像大小仅 5MB靠的是精简到极致的 musl libc 和零 locale 支持。而nginx:debian镜像虽自带 locale但体积暴涨到 130MB启动慢、拉取慢、扫描漏洞多。我的解法是折中保留 Alpine 的轻量手动注入最小必要 locale 支持。具体就是启动时强制设置LANGC.UTF-8并确保基础字符集包已安装——这步必须在容器启动前完成不能靠docker exec临时装因为 Nginx 主进程启动时就读取环境变量了。注意C.UTF-8不是“中文 locale”而是 POSIX 标准下的 UTF-8 兼容 locale。它不提供中文翻译、日期格式等本地化功能但保证所有 UTF-8 编码的文本包括中文、日文、emoji能被正确解析和传输。这才是 Web 服务真正需要的。3. 核心细节解析挂载路径怎么选配置文件结构怎么分层乱码修复三步走现在进入实操细节。别跳过这部分——很多教程只给命令却不告诉你为什么这么写。比如为什么挂载conf.d而不是nginx.conf为什么html目录要单独挂载下面逐个拆解。3.1 挂载路径选择/etc/nginx/conf.d 是唯一安全区Nginx 配置加载顺序是先读/etc/nginx/nginx.conf再按字母序读/etc/nginx/conf.d/*.conf。官方镜像的nginx.conf末尾固定有include /etc/nginx/conf.d/*.conf;。这意味着如果你挂载nginx.conf到/etc/nginx/nginx.conf会完全覆盖原始文件丢失include指令导致conf.d下所有子配置失效如果你挂载default.conf到/etc/nginx/conf.d/default.conf原始default.conf会被替换但include机制仍在其他自定义配置如api.conf照常加载。所以永远挂载到conf.d/子目录永不碰nginx.conf。我见过最惨的案例某公司运维为“统一管理”把所有server块硬塞进一个nginx.conf挂载结果某天同事误删了include行整站 500排查两小时才发现是配置加载链断了。标准挂载结构如下宿主机目录树./nginx-project/ ├── conf/ # 挂载到 /etc/nginx/conf.d:ro │ ├── default.conf # 默认站点含 charset utf-8 │ └── api.conf # 反向代理配置 ├── html/ # 挂载到 /usr/share/nginx/html:ro │ ├── index.html # 中文内容的静态页 │ └── css/ └── logs/ # 挂载到 /var/log/nginx:rw收集日志其中conf/必须只放.conf文件命名按功能区分default.conf、api.conf、ssl.conf避免用01-default.conf这类数字前缀——Nginx 按字母序加载01确实排前面但z-api.conf就会排最后逻辑混乱。3.2 配置文件分层default.conf 里必须写的三行default.conf是你的主战场。以下是最小可用模板每行都有明确目的server { listen 80; server_name localhost; # 第一步强制响应头声明 UTF-8覆盖浏览器自动检测 charset utf-8; # 第二步指定默认编码影响日志和错误页生成 charset_types text/html text/plain text/css application/javascript; # 第三步启用 sendfile提升大文件含中文名图片传输效率 sendfile on; location / { root /usr/share/nginx/html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location /50x.html { root /usr/share/nginx/html; } }重点解释charset_types它定义了哪些 MIME 类型的响应体强制加charsetutf-8。如果不写text/css文件可能被浏览器当ISO-8859-1解析CSS 里的中文注释全变乱码application/javascript不加JS 里的中文字符串alert(你好)也可能出问题。我实测过漏掉这一行Chrome 有时能猜对Safari 几乎必错。3.3 中文乱码修复三步走环境、配置、字体容器内无字体问题乱码修复不是单点操作而是三层防御第一步启动时注入 LANG 环境变量docker run -d \ --name my-nginx \ -p 80:80 \ -e LANGC.UTF-8 \ # 关键必须显式声明 -v $(pwd)/conf:/etc/nginx/conf.d:ro \ -v $(pwd)/html:/usr/share/nginx/html:ro \ -v $(pwd)/logs:/var/log/nginx:rw \ nginx:alpine注意-e LANGC.UTF-8必须写在docker run命令里不能写在Dockerfile的ENV指令中——因为nginx:alpine镜像的启动脚本docker-entrypoint.sh会重置环境变量ENV声明会被覆盖。第二步验证容器内 locale 是否生效进容器执行docker exec -it my-nginx sh / # echo $LANG C.UTF-8 / # locale -a | grep -i utf C.UTF-8 POSIX / # nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful如果locale -a输出为空说明LANG未生效检查docker run命令是否漏-e。第三步确认 Nginx 日志无乱码终极验证访问含中文的 URL如curl http://localhost/?q测试然后看日志docker exec my-nginx tail -n 1 /var/log/nginx/access.log # 正确输出172.17.0.1 - - [10/Jul/2024:15:23:45 0000] GET /?q测试 HTTP/1.1 200 612 - curl/7.81.0 # 错误输出172.17.0.1 - - [10/Jul/2024:15:23:45 0000] GET /?q?? HTTP/1.1 200 612 - curl/7.81.0日志里q测试显示正常证明从请求解析、响应生成到日志写入全链路 UTF-8 通畅。实操心得不要依赖docker logs查看访问日志docker logs会经过 Docker daemon 的日志驱动转码可能掩盖真实乱码。必须docker exec进容器直接读/var/log/nginx/access.log这才是真相。4. 完整实操流程从零搭建可维护的中文 Nginx 容器现在把所有碎片拼成完整流程。我会用一个真实场景演示为某高校课程实验平台部署静态官网要求支持中文菜单、中文字体 CSS、后台 API 代理且所有配置可 Git 管理。4.1 初始化项目目录与配置文件在宿主机创建项目目录mkdir -p nginx-course/{conf,html,logs} cd nginx-course生成conf/default.conf主站点server { listen 80; server_name course.example.com; charset utf-8; charset_types text/html text/plain text/css application/javascript application/json; # 启用 gzip 压缩中文文本减少传输体积 gzip on; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xmlrss text/javascript; location / { root /usr/share/nginx/html; index index.html; } # 代理到后端 API假设运行在宿主机 3000 端口 location /api/ { proxy_pass http://host.docker.internal:3000/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; # 关键透传原始请求编码避免代理层二次转码 proxy_set_header Accept-Encoding ; } error_page 500 502 503 504 /50x.html; location /50x.html { root /usr/share/nginx/html; } }生成html/index.html含中文内容!DOCTYPE html html head meta charsetutf-8 title课程实验平台/title style body { font-family: Microsoft YaHei, sans-serif; } .menu { color: #333; } /style /head body h1欢迎来到课程实验平台/h1 div classmenu a href/lab1实验一Docker 基础/a | a href/lab2实验二Nginx 配置/a | a href/api/statusAPI 状态/a /div p当前时间span idtime/span/p script document.getElementById(time).textContent new Date().toLocaleString(zh-CN); /script /body /html注意HTML 里meta charsetutf-8和 Nginx 的charset utf-8是双重保险。前者告诉浏览器用 UTF-8 解析 HTML后者告诉浏览器所有响应体包括 JS、CSS都用 UTF-8缺一不可。4.2 启动容器并验证中文支持执行启动命令关键参数已加粗docker run -d \ --name course-nginx \ -p 8080:80 \ **-e LANGC.UTF-8** \ -v $(pwd)/conf:/etc/nginx/conf.d:ro \ -v $(pwd)/html:/usr/share/nginx/html:ro \ -v $(pwd)/logs:/var/log/nginx:rw \ --add-hosthost.docker.internal:host-gateway \ # 代理到宿主机的关键 nginx:alpine验证步骤访问http://localhost:8080确认页面中文正常显示查看浏览器开发者工具 Network 标签确认Content-Type响应头含charsetutf-8执行curl -I http://localhost:8080检查响应头HTTP/1.1 200 OK Server: nginx/1.25.3 Content-Type: text/html; charsetutf-8 # 必须有此行查看日志tail -f logs/access.log刷新页面确认 URL 参数q测试显示正常。4.3 配置热更新实战不重启容器修改代理地址假设后端 API 从http://host.docker.internal:3000迁移到http://api-server:3000新容器。只需两步第一步修改conf/default.conf中的proxy_pass行# 原来 proxy_pass http://host.docker.internal:3000/; # 改为 proxy_pass http://api-server:3000/;第二步重载 Nginx 配置# 测试配置语法 docker exec course-nginx nginx -t # 重载不中断连接 docker exec course-nginx nginx -s reload全程耗时 1 秒用户无感知。对比重建容器方案docker stop docker rm docker run省去 10 秒以上停机时间且避免 DNS 缓存、连接池重建等问题。实操心得重载前务必nginx -t我曾因少写一个分号reload失败导致 Nginx 进程退出容器自动重启但新配置未生效线上服务中断 3 分钟。-t是 0.1 秒的保险。4.4 日志与监控中文日志如何分析挂载logs/目录后日志实时写入宿主机。但中文日志用grep查找需加-a参数强制二进制模式# 查找所有含“实验”的请求 grep -a 实验 logs/access.log # 统计各页面访问量需处理中文路径 awk {print $7} logs/access.log | grep -a / | sort | uniq -c | sort -nr | head -10更推荐用lnav工具支持中文日志高亮# Ubuntu 安装 sudo apt install lnav # 查看日志自动识别 Nginx 格式中文高亮 lnav logs/access.log5. 常见问题与排查技巧实录那些文档里不会写的坑以下是我在多个项目中踩过的坑整理成速查表。每个问题都附带复现方法、根本原因和一招解决。5.1 问题速查表中文乱码、配置不生效、容器启动失败问题现象复现方法根本原因解决方案浏览器显示方块但curl -I响应头有charsetutf-8页面含中文Chrome 开发者工具 Network 查看响应体乱码浏览器未正确解析响应头或 HTML 缺meta charset检查 HTML 是否有meta charsetutf-8清除浏览器缓存用 curl -s http://localhostdocker exec进容器locale显示C.UTF-8但nginx -t报错unknown directive charset修改default.conf加charset utf-8;后执行nginx -tcharset指令需 Nginx 0.8.30nginx:alpine默认版本满足但若用了极老镜像如nginx:1.10则不支持docker exec course-nginx nginx -v查版本升级镜像至nginx:alpine当前最新挂载conf/后Nginx 启动报错no live upstreams while connecting to upstreamdefault.conf里proxy_pass http://api-server:3000/;但api-server容器未启动Nginx 启动时解析配置发现api-serverDNS 解析失败直接报错退出启动顺序先docker network create mynet再docker run --network mynet --name api-server ...最后启动 Nginx或在proxy_pass后加resolve指令需 Nginx Plus修改default.conf后nginx -s reload日志显示nginx: [emerg] unknown directive proxy_set_header配置中写了proxy_set_header但放在server块外proxy_set_header必须在location或server块内不能在http块顶层检查缩进确保proxy_set_header在location /api/ { ... }内部5.2 独家避坑技巧三招预防 90% 的配置事故技巧一用nginx -T查看最终生效配置比cat更可靠docker exec course-nginx nginx -T会输出 Nginx 实际加载的完整配置含include合并后的内容。比手动cat /etc/nginx/nginx.confcat /etc/nginx/conf.d/*.conf准确十倍。我曾用它揪出隐藏的default.conf来自另一个挂载卷导致server_name冲突。技巧二为conf.d/目录加.gitkeep防止 Git 忽略空目录Git 默认不跟踪空目录。如果conf/下只有default.conf某天你git rm default.conf整个conf/目录就从仓库消失了。下次git clone新环境-v挂载的conf/是空的Nginx 启动失败。解决方案在conf/下建空文件.gitkeep并确保.gitignore未忽略它。技巧三用docker inspect验证挂载是否成功执行docker inspect course-nginx | jq .[0].Mounts输出应包含{ Type: bind, Source: /path/to/nginx-course/conf, Destination: /etc/nginx/conf.d, Mode: ro, RW: false, Propagation: rprivate }重点检查Mode: ro和RW: false—— 如果是rw说明挂载时漏了:ro立刻docker rm -f course-nginx重建。5.3 性能与安全加固生产环境必须加的三行上述流程满足功能需求但生产环境还需加固1. 限制 Nginx 工作进程数默认worker_processes auto;会根据 CPU 核数启进程容器内可能超配。在conf/default.conf的http块外即nginx.conf级别加worker_processes 2; # 容器通常 2 核足够 worker_rlimit_nofile 65535; events { worker_connections 4096; }2. 禁用 Nginx 版本号泄露在http块加server_tokens off; # 响应头不返回 Server: nginx/1.25.33. 防止目录遍历攻击在location /块加location / { root /usr/share/nginx/html; index index.html; # 关键拒绝以 .. 开头的路径 if ($request_uri ~ (\.\.)) { return 403; } }这些配置不增加复杂度但能堵住常见安全漏洞。某次渗透测试中server_tokens on被扫描出 Nginx 版本结合已知 CVE 直接定位到可利用点——加一行off就规避。6. 进阶扩展如何让这套方案支撑百人团队协作单机部署只是起点。当团队扩大你需要配置版本化把conf/目录纳入 Git分支管理main生产staging预发feature/login功能分支CI/CD 自动化GitHub Actions 检测conf/变更自动docker exec nginx nginx -t验证通过后触发reload多环境隔离用 Docker Compose 定义nginx、api-server、db服务docker-compose -f docker-compose.staging.yml up -d一键启预发环境配置热发布用 Consul Template 或 Nginx Controller监听配置中心变更自动重载。但所有这些都建立在今天这个基础之上一个能正确显示中文、配置可挂载、环境可复现的 Nginx 容器。没有这个地基上层架构都是沙上之塔。我带过的某跨平台系统项目最初就卡在中文乱码花了两天才搞定后来所有成员都把LANGC.UTF-8写进启动脚本模板再没出现过类似问题。最后分享一个小技巧如果你用 VS Code 编辑conf/下的文件装个插件 “Nginx Configuration”IDjasonlyu123.nginx-conf它能实时语法校验、高亮charset等指令写错立刻标红比nginx -t还快。这东西不值钱但每天能省你三次docker exec的时间。

相关新闻

Docker中Nginx中文乱码与配置挂载全解

Docker中Nginx中文乱码与配置挂载全解

1. 项目概述:为什么在 Docker 里跑 Nginx 还要操心中文乱码和配置挂载?你是不是也遇到过这种情况:用docker run -d -p 80:80 nginx一行命令就跑起了一个 Nginx 容器,页面打开也正常,但一上传带中文名的文件、一访问含中…

2026/10/13 22:08:49 阅读更多 →
零基础AI漫剧智能量产全流程实操指南

零基础AI漫剧智能量产全流程实操指南

入行AI漫剧这档子事,完全算机缘巧合。有一天深夜我刷短视频,刷到一个漫剧账号:AI生成的角色立绘、克制的镜头推拉、AI配音加BGM,一集不到两分钟,评论区几千人催更。我当时第一反应是,这玩意儿到底怎么做到一…

2026/10/13 22:08:49 阅读更多 →
BP模糊神经网络Python实现:融合模糊规则的梯度下降实战

BP模糊神经网络Python实现:融合模糊规则的梯度下降实战

简介:一套BP模糊神经网络的Python实现代码,面向机器学习初学者与进阶开发者,包含可直接运行的鸢尾花分类实验数据。压缩包共7个文件:两个py脚本分别实现模糊神经网络主体和鸢尾花测试流程,四个csv文件对应训练集/测试集…

2026/10/13 22:08:49 阅读更多 →

最新新闻

GRP-U8行政事业版数据库部署与运维:从选型到备份恢复的实战指南

GRP-U8行政事业版数据库部署与运维:从选型到备份恢复的实战指南

简介:无论是日常余额核对、凭证追溯,还是年末结转时清理数据,面对GRP-U8行政事业版庞大的数据库常常让人无从下手。这份资料面向用友GRP-U8财务软件的运维实施与行政事业单位信息化人员,集中梳理出真正核心的四张业务表——GL_Yeb…

2026/10/13 22:59:15 阅读更多 →
Servlet从原理到实战:吃透Java Web底层核心机制

Servlet从原理到实战:吃透Java Web底层核心机制

Servlet 这门技术,放在十年前是 Java Web 开发者的必修课,放在今天看,很多刚接触 Spring Boot 的同学可能只在依赖清单里见过它,甚至有人觉得它已经过时了。但实际上去掉 Spring 的外壳,真正在底层处理 HTTP 请求、管理…

2026/10/13 22:59:15 阅读更多 →
ThinkPHP新闻发布系统开发实战:从路由到后台管理全流程

ThinkPHP新闻发布系统开发实战:从路由到后台管理全流程

简介:ThinkPHP新闻发布系统是一份面向PHP初学者和Web开发入门者的完整前后台项目源码,覆盖前台文章展示、后台分类与文章管理,并集成百度UEditor富文本编辑器,旨在通过一个真实项目帮助理解MVC分层、ActiveRecord数据库操作、路由…

2026/10/13 22:59:15 阅读更多 →
Servlet核心机制与生命周期详解:从HTTP请求到Java方法的完整链路

Servlet核心机制与生命周期详解:从HTTP请求到Java方法的完整链路

Servlet这东西,说起来有点“老”,但如果你想搞明白Java Web到底是怎么跑起来的,它还真躲不开。我带团队和面试新人的时候发现一个现象:不少人上来就学Spring Boot,写接口已经非常熟练,但你把问题往回问一层…

2026/10/13 22:59:15 阅读更多 →
Java NIO Channel深度解析:从BIO痛点、Buffer机制到非阻塞实战

Java NIO Channel深度解析:从BIO痛点、Buffer机制到非阻塞实战

1. 从BIO的痛点到Channel的设计动机很多同学学NIO的时候,一上来就啃Selector、ByteBuffer、Channel这三大件,结果学完一圈还是不知道Channel到底解决了什么问题。我刚开始接触NIO那会儿也是这样,API背得滚瓜烂熟,真到写网络服务的…

2026/10/13 22:59:15 阅读更多 →
ACM竞赛中STL sort的cmp函数设计原理与避坑指南

ACM竞赛中STL sort的cmp函数设计原理与避坑指南

1. 为什么排序不是“写个for循环就完事”的事?刚接触ACM竞赛的新人,十有八九都经历过这个阶段:看到一道题说“把数组从小到大排好”,立刻撸起袖子写个冒泡——三重嵌套,i、j、k变量齐飞,跑样例能过&#xf…

2026/10/13 22:58:14 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →