<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Hanzos Site</title><description>Blog</description><link>https://blog.hanzogenji.cn/</link><language>zh-cn</language><item><title>COSMOTOP：监控 NPU、GPU、Docker 容器与系统资源</title><link>https://blog.hanzogenji.cn/zh-cn/posts/tutorials/cosmotop-monitor-npu-gpu-docker/</link><guid isPermaLink="true">https://blog.hanzogenji.cn/zh-cn/posts/tutorials/cosmotop-monitor-npu-gpu-docker/</guid><description>使用 COSMOTOP 监控 RK3576 和 RK3588 设备的 CPU、内存、GPU、Docker 容器及 Rockchip NPU 利用率。</description><pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;我长期使用 &lt;a href=&quot;https://github.com/aristocratos/btop&quot;&gt;btop&lt;/a&gt; 监控系统。它是一款优秀的终端资源监控工具，可以查看 CPU、内存、磁盘和进程。不过，在使用 Rockchip RK3576 和 RK3588 平台时，我发现它缺少一项重要指标：NPU 利用率。&lt;/p&gt;
&lt;p&gt;寻找替代工具时，我发现了 &lt;a href=&quot;https://github.com/bjia56/cosmotop&quot;&gt;COSMOTOP&lt;/a&gt;。它是一个使用 Cosmopolitan Libc 构建的 btop 分支，在熟悉的界面上增加了对现代硬件和工作负载的支持。除了 CPU、内存、磁盘和进程，COSMOTOP 还能在同一个终端界面中显示 Rockchip NPU 使用情况、GPU 利用率、Docker 容器统计信息及其他系统信息。&lt;/p&gt;
&lt;p&gt;如果你正在 RK3576 或 RK3588 上开发或部署 AI 应用，COSMOTOP 可以帮助你监控系统整体性能，并确认 NPU 工作负载是否按预期运行。&lt;/p&gt;
&lt;h2&gt;安装&lt;/h2&gt;
&lt;h3&gt;1. 下载可执行文件&lt;/h3&gt;
&lt;p&gt;将 v0.15.2 版本下载到 &lt;code&gt;PATH&lt;/code&gt; 中的目录，例如 &lt;code&gt;/usr/local/bin&lt;/code&gt;：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo wget -O /usr/local/bin/cosmotop \
  https://github.com/bjia56/cosmotop/releases/download/v0.15.2/cosmotop
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;2. 添加执行权限&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;sudo chmod +x /usr/local/bin/cosmotop
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;3. 运行 COSMOTOP&lt;/h3&gt;
&lt;p&gt;进行常规系统监控：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;cosmotop
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果要启用 Rockchip NPU 监控，请使用 root 权限运行：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo cosmotop
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&quot;media/cosmotop-rk3576.png&quot; alt=&quot;COSMOTOP 监控 CPU、内存、GPU、Docker 和 Rockchip NPU 利用率&quot; /&gt;&lt;/p&gt;
&lt;p&gt;这样就完成了！现在你可以使用这款轻量而强大的终端监控工具，实时查看 CPU、内存、GPU、Docker 容器和 Rockchip NPU 利用率。&lt;/p&gt;
</content:encoded></item><item><title>iSCSI 协议解析：架构原理、性能优势与并发写入限制</title><link>https://blog.hanzogenji.cn/zh-cn/posts/iscsi/</link><guid isPermaLink="true">https://blog.hanzogenji.cn/zh-cn/posts/iscsi/</guid><pubDate>Wed, 04 Feb 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;iSCSI (Internet Small Computer System Interface) 是现代存储区域网络 (SAN) 的核心协议之一。它通过将 SCSI 指令封装于 TCP/IP 数据包中，实现了基于标准以太网的块级存储传输。&lt;/p&gt;
&lt;p&gt;本文将从架构层面分析 iSCSI 与传统文件共享协议的区别，探讨其性能优势，并重点解析其在多机并发写入场景下的数据一致性问题。&lt;/p&gt;
&lt;h2&gt;1. 架构核心：块级存储 (Block) vs 文件存储 (File)&lt;/h2&gt;
&lt;p&gt;理解 iSCSI 的关键在于界定“文件系统”的管理权归属。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;文件存储 (NAS - SMB/NFS)&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;管理方&lt;/strong&gt;：服务端 (Storage Server)。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;机制&lt;/strong&gt;：客户端请求特定文件（File Level），服务端处理磁盘 I/O 和元数据，返回文件流。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;特征&lt;/strong&gt;：抽象层级高，客户端只能看到文件夹。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;iSCSI (SAN - Block Storage)&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;管理方&lt;/strong&gt;：客户端 (Initiator)。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;机制&lt;/strong&gt;：服务端仅提供裸逻辑单元 (LUN)。客户端操作系统将其识别为&lt;strong&gt;本地物理硬盘&lt;/strong&gt;，并自行负责分区和格式化（如 NTFS/EXT4）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;特征&lt;/strong&gt;：抽象层级低，传输的是扇区（Sector）数据。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;2. iSCSI 的技术优势&lt;/h2&gt;
&lt;p&gt;相比文件级协议，iSCSI 在特定场景下具有不可替代的优势：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;操作系统级兼容性&lt;/strong&gt;
由于被识别为本地块设备，iSCSI 能够支持不支持网络驱动器的应用（如 Oracle 数据库、Exchange Server、底层反作弊驱动）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;高性能传输&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;低开销&lt;/strong&gt;：直接封装 SCSI 指令，无应用层协议（如 SMB 头部）的复杂封装。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;链路优化&lt;/strong&gt;：原生支持 &lt;strong&gt;MPIO (多路径 I/O)&lt;/strong&gt; 实现负载均衡与故障切换；支持 &lt;strong&gt;Jumbo Frames (巨型帧)&lt;/strong&gt; 提升有效载荷效率。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;支持无盘引导 (Boot from SAN)&lt;/strong&gt;
支持通过 PXE/iPXE 直接挂载远程 LUN 作为系统启动盘，是网吧无盘系统、云计算节点和 VDI 架构的基础。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;3. 关键限制：多机并发写入与数据腐败&lt;/h2&gt;
&lt;p&gt;iSCSI 最显著的风险在于&lt;strong&gt;多 Initiator 同时读写同一个 LUN&lt;/strong&gt;。在非集群文件系统下，此操作将直接导致数据永久损坏。&lt;/p&gt;
&lt;h3&gt;3.1 故障原理：元数据不同步&lt;/h3&gt;
&lt;p&gt;常规文件系统（NTFS, EXT4, XFS）设计时假定拥有磁盘的&lt;strong&gt;独占控制权&lt;/strong&gt;。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;缓存机制&lt;/strong&gt;：主机 A 读取磁盘的文件分配表（元数据），并缓存在本地内存中。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;不可见性&lt;/strong&gt;：主机 B 对磁盘进行了写入，修改了元数据。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;覆写导致损坏&lt;/strong&gt;：主机 A 并不知道磁盘状态已变，继续基于&lt;strong&gt;旧的内存缓存&lt;/strong&gt;计算写入位置，直接覆盖了主机 B 的数据，导致文件系统索引崩溃。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;3.2 解决方案&lt;/h3&gt;
&lt;p&gt;若需实现 iSCSI 的多机共享写入，必须采用以下方案之一：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;集群文件系统 (Cluster File System)&lt;/strong&gt;：使用 VMFS (VMware), GFS2 (RedHat), OCFS2 (Oracle)。这些系统引入了&lt;strong&gt;分布式锁管理器 (DLM)&lt;/strong&gt;，强制主机在写入前同步元数据状态。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;读写分离架构 (COW)&lt;/strong&gt;：如网吧无盘模式。多机只读挂载同一镜像，写入操作通过 Copy-on-Write 重定向至服务器端的独立临时区域。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;4. 技术总结&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;维度&lt;/th&gt;
&lt;th&gt;iSCSI (Block)&lt;/th&gt;
&lt;th&gt;SMB / NFS (File)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;传输层级&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;块 / 扇区 (SCSI over TCP)&lt;/td&gt;
&lt;td&gt;文件流 (Application Layer)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;文件系统维护&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;客户端 OS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;服务端 OS&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;并发写入&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;不支持&lt;/strong&gt; (需集群文件系统)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;原生支持&lt;/strong&gt; (服务端处理文件锁)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;适用场景&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;数据库、虚拟化存储、无盘启动&lt;/td&gt;
&lt;td&gt;办公协作、文件归档、媒体流&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;结论&lt;/strong&gt;：iSCSI 适用于对性能、底层兼容性有极高要求的场景，但在多机协同环境中，必须严格规避并发写入风险。&lt;/p&gt;
</content:encoded></item><item><title>Keil 使用 clang-format 的完整教程：实现 STM32 代码一键格式化</title><link>https://blog.hanzogenji.cn/zh-cn/posts/tutorials/keil-format-code/</link><guid isPermaLink="true">https://blog.hanzogenji.cn/zh-cn/posts/tutorials/keil-format-code/</guid><description>在 Keil 中开发 STM32 工程时，CubeMX 生成的代码缩进和格式常常不统一。本文将详细讲解如何在 Keil 中集成 clang-format，配置快捷键，实现类似 VSCode 的一键自动格式化，让代码始终保持整洁一致。</description><pubDate>Tue, 15 Apr 2025 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;在使用 Keil 作为 STM32 开发环境时，每次通过 STM32CubeMX 更新代码后，自动生成的代码都会变成 2 空格缩进格式，严重影响代码可读性。本文将介绍如何通过 clang-format 工具实现 Keil 环境下的一键代码格式化。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;环境准备&lt;/h2&gt;
&lt;h3&gt;必要组件&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Keil uVision IDE&lt;/li&gt;
&lt;li&gt;clang-format 工具&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;clang-format 获取方式&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Keil V6 用户(armclang 编译器)&lt;/strong&gt;：
工具已内置在安装目录中：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;Keil安装路径&amp;gt;\ARM\ARMCLANG\bin\clang-format.exe
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Keil V5 用户(armcc 编译器)&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;从&lt;a href=&quot;https://developer.arm.com/downloads/view/ACOMPE?sortBy=availableBy&amp;amp;revision=r6p24-00rel0&quot;&gt;Arm 官网&lt;/a&gt;下载 V6 编译器包&lt;code&gt;Arm Compiler for Embedded 6.24 (for Keil® MDK)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;解压至 Keil 安装目录下的 ARM 文件夹&lt;/li&gt;
&lt;li&gt;确保最终路径为：&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;Keil安装路径&amp;gt;\ARM\ARMCLANG\bin\clang-format.exe
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;配置步骤&lt;/h2&gt;
&lt;h3&gt;1. 添加自定义工具&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;打开 Keil → Tools → Customize Tools Menu...&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://img.hanzogenji.cn/i/2025/07/08/686d0aa7413c7.png&quot; alt=&quot;Customize Tools Menu&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;点击 Add 添加新工具&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;配置参数：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;名称&lt;/strong&gt;：clang format&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;路径&lt;/strong&gt;：clang-format.exe 的完整路径&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;参数&lt;/strong&gt;：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;-verbose -sort-includes -style=Microsoft -i !E
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;!E&lt;/code&gt;表示当前文件&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;-i&lt;/code&gt;表示直接修改文件&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;2. 设置快捷键&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;进入 Edit → Configuration → Shortcut Keys&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;找到&quot;Tools:clang format&quot;项&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://img.hanzogenji.cn/i/2025/07/08/686d0aa830915.png&quot; alt=&quot;Shortcut_keys&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;设置喜欢的快捷键组合，我使用 VSCode 同款&lt;code&gt;Alt + Shift + F&lt;/code&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;使用技巧&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;使用前务必保存文件&lt;/strong&gt;，因为工具会直接修改源文件&lt;/li&gt;
&lt;li&gt;格式化后会按照 Microsoft 风格自动调整：
&lt;ul&gt;
&lt;li&gt;代码缩进&lt;/li&gt;
&lt;li&gt;#include 排序&lt;/li&gt;
&lt;li&gt;代码对齐等&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;高级定制&lt;/h2&gt;
&lt;p&gt;clang-format 支持高度自定义配置，可通过修改参数调整：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;缩进宽度&lt;/li&gt;
&lt;li&gt;大括号风格&lt;/li&gt;
&lt;li&gt;换行规则等&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如需特定格式要求，可参考 clang-format 官方文档或咨询相关技术支持。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;提示：该方案特别适合需要频繁使用 STM32CubeMX 生成代码的开发者，能有效保持代码风格统一。&lt;/p&gt;
&lt;/blockquote&gt;
</content:encoded></item><item><title>Windows 从零部署 WordPress 全流程指南</title><link>https://blog.hanzogenji.cn/zh-cn/posts/tutorials/windows_wordpress/</link><guid isPermaLink="true">https://blog.hanzogenji.cn/zh-cn/posts/tutorials/windows_wordpress/</guid><description>Windows配置Nginx、PHP并部署WordPress</description><pubDate>Fri, 26 Apr 2024 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;在 Linux 中，借助运维面板和 Docker 可以非常方便地部署 WordPress；但在 Windows Server 上，我尚未发现类似工具，因此尝试使用最原始的方式进行部署，以此记录全过程。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;本文环境：Windows Server 2022&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h2&gt;准备工作&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170&quot;&gt;Microsoft Visual C++ Redistributable Package&lt;/a&gt;（MySQL 依赖环境）&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.mysql.com/downloads/installer/&quot;&gt;MySQL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nginx.org/en/download.html&quot;&gt;nginx&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://windows.php.net/download/&quot;&gt;php&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wordpress.org/download/&quot;&gt;WordPress&lt;/a&gt; 或 &lt;a href=&quot;https://cn.wordpress.org/download/&quot;&gt;WordPress（简体中文）&lt;/a&gt;（本教程以英文版为例）&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/wenshui2008/RunHiddenConsole/releases/tag/1.0&quot;&gt;RunHiddenConsole&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://img.hanzogenji.cn/i/2025/07/09/686e34369ba47.png&quot; alt=&quot;download.png&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;安装各组件&lt;/h2&gt;
&lt;h3&gt;Microsoft Visual C++ Redistributable Package&lt;/h3&gt;
&lt;p&gt;直接运行安装程序并同意许可协议。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://img.hanzogenji.cn/i/2025/07/09/686e343ba874d.png&quot; alt=&quot;VC++.png&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;MySQL&lt;/h3&gt;
&lt;p&gt;用于 WordPress 的数据库支持。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;启动安装程序，选择 &lt;code&gt;Server only&lt;/code&gt;，其余保持默认设置。&lt;/li&gt;
&lt;li&gt;安装过程中设置 &lt;code&gt;root&lt;/code&gt; 密码，请务必牢记。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;https://img.hanzogenji.cn/i/2025/07/09/686e34379b574.png&quot; alt=&quot;mysql-1.png&quot; /&gt;
&lt;img src=&quot;https://img.hanzogenji.cn/i/2025/07/09/686e3438a694a.png&quot; alt=&quot;mysql-2.png&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;nginx&lt;/h3&gt;
&lt;p&gt;作为 Web 服务器，负责响应网页请求。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;解压至任意位置（如：&lt;code&gt;C:\server\nginx&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;运行 &lt;code&gt;nginx.exe&lt;/code&gt;，在浏览器访问 &lt;a href=&quot;http://127.0.0.1&quot;&gt;http://127.0.0.1&lt;/a&gt; 显示成功页面即代表运行正常。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;https://img.hanzogenji.cn/i/2025/07/09/686e343929517.png&quot; alt=&quot;nginx.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;停止 nginx：&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;cd C:\server\nginx
nginx.exe -s stop
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h3&gt;php&lt;/h3&gt;
&lt;p&gt;WordPress 是使用 php 编写的，必须安装。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;解压至 &lt;code&gt;C:\server\php&lt;/code&gt;，后续进行配置。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;WordPress&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;解压至 &lt;code&gt;C:\server\wordpress&lt;/code&gt;，即为网站根目录。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;RunHiddenConsole&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;解压 &lt;code&gt;x64&lt;/code&gt; 中的 &lt;code&gt;RunHiddenConsole.exe&lt;/code&gt; 至 &lt;code&gt;C:\server&lt;/code&gt;，用于后台静默运行服务。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;最终目录结构如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://img.hanzogenji.cn/i/2025/07/09/686e34371e82a.png&quot; alt=&quot;folder.png&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;配置步骤&lt;/h2&gt;
&lt;h3&gt;1. 创建数据库&lt;/h3&gt;
&lt;p&gt;打开 &lt;code&gt;MySQL 8.0 Command Line Client&lt;/code&gt;，输入密码后执行：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;CREATE DATABASE wordpress;
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h3&gt;2. 配置 nginx&lt;/h3&gt;
&lt;p&gt;编辑 &lt;code&gt;nginx\conf\nginx.conf&lt;/code&gt;：&lt;/p&gt;
&lt;h4&gt;修改 &lt;code&gt;location /&lt;/code&gt;&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;location / {
    root   C:/server/wordpress;
    index  index.html index.htm index.php;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;启用并修改 &lt;code&gt;location ~ \.php$&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;取消注释，修改如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;location ~ \.php$ {
    root           C:/server/wordpress;
    fastcgi_pass   http://127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h3&gt;3. 配置 php&lt;/h3&gt;
&lt;p&gt;复制 &lt;code&gt;php.ini-development&lt;/code&gt; 为 &lt;code&gt;php.ini&lt;/code&gt;，并修改以下内容：&lt;/p&gt;
&lt;h4&gt;设置扩展目录：&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;extension_dir = &quot;C:\server\php\ext&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;启用 pathinfo 支持：&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;cgi.fix_pathinfo=1
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;启用 MySQL 扩展：&lt;/h4&gt;
&lt;p&gt;在文件末尾添加：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;;mysql extension
extension=php_mysqli.dll
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h3&gt;4. 启动 nginx 和 php&lt;/h3&gt;
&lt;p&gt;在命令行中运行：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;start C:\server\nginx\nginx.exe
C:\server\php\php-cgi.exe -b http://127.0.0.1:9000 -c C:\server\php\php.ini
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;注意：第二条命令窗口会停留，不要关闭。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&quot;https://img.hanzogenji.cn/i/2025/07/09/686e343991cb1.png&quot; alt=&quot;run nginx and php.png&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;自动化启动脚本&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;start.bat&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;@echo off
set PHP_FCGI_MAX_REQUESTS=1000

RunHiddenConsole C:\server\php\php-cgi.exe -b http://127.0.0.1:9000 -c C:\server\php\php.ini
RunHiddenConsole C:\server\nginx\nginx.exe
exit
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;stop.bat&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;@echo off
taskkill /F /IM nginx.exe &amp;gt; nul
taskkill /F /IM php-cgi.exe &amp;gt; nul
exit
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;初始化 WordPress&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;浏览器访问 &lt;a href=&quot;http://127.0.0.1&quot;&gt;http://127.0.0.1&lt;/a&gt;，点击 &lt;code&gt;Let’s go&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;填写数据库信息：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Database Name&lt;/strong&gt;: wordpress&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Username&lt;/strong&gt;: root&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Password&lt;/strong&gt;: 安装 MySQL 时设置的密码&lt;/li&gt;
&lt;li&gt;其余默认&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://img.hanzogenji.cn/i/2025/07/09/686e343ae1ce7.png&quot; alt=&quot;wordpress_setup_1.png&quot; /&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;点击 &lt;code&gt;Submit&lt;/code&gt; → &lt;code&gt;Run the installation&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;设置网站信息：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Site Title&lt;/li&gt;
&lt;li&gt;Username / Password（用于登录后台）&lt;/li&gt;
&lt;li&gt;Email&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://img.hanzogenji.cn/i/2025/07/09/686e343ca7473.png&quot; alt=&quot;wordpress_setup_3.png&quot; /&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;安装成功页面：&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://img.hanzogenji.cn/i/2025/07/09/686e343c30e15.png&quot; alt=&quot;wordpress_setup_4.png&quot; /&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;访问主页：&lt;a href=&quot;http://127.0.0.1&quot;&gt;http://127.0.0.1&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;登录后台：&lt;a href=&quot;http://127.0.0.1/wp-admin&quot;&gt;http://127.0.0.1/wp-admin&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://img.hanzogenji.cn/i/2025/07/09/686e343ed241f.png&quot; alt=&quot;wordpress_setup_7.png&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;参考资料&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cnblogs.com/wwjchina/p/9804576.html&quot;&gt;Windows 下搭建 nginx+php 开发环境 - 博客园&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.csdn.net/muyuyude/article/details/114964681&quot;&gt;如何更改 WordPress 语言为中文 - CSDN&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item></channel></rss>