IIS + Windows Server能否运行WordPress?配置步骤是什么?

IIS + Windows Server 完全可以运行 WordPress。事实上,这是微软生态下最经典的建站组合之一。虽然 Linux (Nginx/Apache) 是 WordPress 的默认首选,但通过正确的配置,Windows 环境下的性能和稳定性同样出色。

核心难点在于:WordPress 原生是为 PHP + MySQL/MariaDB 设计的,而 Windows 需要 IIS 来解析 PHP 请求,并配合 FastCGI 模块。 只要把这几个环节打通,就能完美运行。

以下是基于 Windows Server(如 2016/2019/2022)+ IIS 的实操配置步骤:

第一步:安装基础运行环境

不要手动去下载 PHP 和 IIS 组件,直接使用 Web Platform Installer (WPI) 或者 Server Manager 会更稳妥。这里推荐手动安装以理解原理,或者直接下载官方推荐的安装包。

  1. 启用 IIS 功能

    • 打开“服务器管理器” -> “添加角色和功能”。
    • 在“Web 服务器 (IIS)"部分,确保勾选了以下关键组件:
      • 应用程序开发 -> .NET Extensibility, ISAPI Extensions, ISAPI Filters。
      • 健康性和诊断 -> HTTP 错误日志、跟踪日志(可选)。
      • 性能 -> 静态内容。
      • 安全性 -> 请求过滤。
      • 重要提示:必须安装 PHP 支持模块。通常建议直接下载并安装特定版本的 PHP for Windows (推荐使用 Thread Safe 版本),然后在 IIS 中注册。
  2. 安装数据库 (MySQL/MariaDB)

    • Windows 上运行 WordPress 通常需要 MySQL。你可以下载 MySQL InstallerMariaDB 进行安装。
    • 安装时设置 root 密码,并创建一个专门用于 WordPress 的数据库和用户(例如 wp_db),赋予相应权限。
  3. 安装 PHP

    • 下载对应版本的 PHP ZIP 包(推荐 PHP 8.x 版本,注意选择 Thread Safe 版)。
    • 解压到指定目录(例如 C:php)。
    • 复制 php.ini-developmentphp.ini
    • 修改 php.ini 配置:
      • 取消 extension_dir = "ext" 前面的注释。
      • 启用必要扩展:extension=gd2, extension=curl, extension=fileinfo, extension=mbstring, extension=mysqli 等。
      • 设置 date.timezone 为你所在的时区(如 Asia/Shanghai),否则后台时间会乱。

第二步:配置 IIS 处理程序映射 (FastCGI)

这是最关键的一步,让 IIS 知道如何把 .php 文件交给 PHP 解释器处理。

  1. 打开 IIS 管理器
  2. 选中你的网站根目录,点击右侧操作栏的 “处理程序映射”
  3. 点击 “添加模块映射”
    • 请求路径*.php
    • 可执行模块:选择 CgiModule 或直接指向 PHP 的可执行文件路径(例如 C:phpphp-cgi.exe)。
    • 名称:输入 PHP via FastCGI
  4. 系统可能会弹窗警告,确认即可。
  5. 验证配置
    • 确保 php.ini 中的 cgi.force_redirect = 0 设置为 0(有些版本默认就是 0,需检查)。
    • php.ini 中确保 cgi.fix_pathinfo = 1(这能解决 WordPress 伪静态路由问题,防止 404 错误)。

第三步:部署 WordPress 代码

  1. 下载最新的 WordPress 压缩包,解压后上传到 IIS 网站的物理路径下(例如 D:wwwrootwordpress)。
  2. 确保文件夹权限正确:
    • IIS_IUSRS 组需要对 wp-content 目录拥有写入权限(用于上传插件、主题、图片缓存)。
    • 其他文件通常只需读取权限。

第四步:配置 URL 重写 (Rewrite Rules)

WordPress 依赖伪静态(Permalinks)来实现友好的 URL 结构。在 Windows 上,这需要 IIS 的 URL Rewrite Module

  1. 如果未安装,请在 IIS 管理器 -> “功能视图”中搜索并安装 URL Rewrite
  2. 在网站根目录下,你会看到 WordPress 自带的 web.config 文件(如果你从官网下载的是包含该文件的版本)。如果没有,可以手动创建或从 GitHub 获取标准的 web.config 内容粘贴进去。
    • 该文件的作用是拦截非真实存在的文件请求,将其重定向到 index.php
  3. 进入 IIS 管理器的 URL 重写 功能,查看规则是否生效。

第五步:完成安装向导

  1. 浏览器访问你的域名或 IP。
  2. 按照屏幕提示输入:
    • 站点标题
    • 用户名、密码、邮箱
    • 数据库信息(主机名通常是 localhost,数据库名是你之前创建的 wp_db,用户名和密码是你设置的)。
  3. 提交后,WordPress 会自动检测环境并生成最终配置文件。

常见问题与优化建议

  • 404 错误:绝大多数情况是因为 web.config 没放对,或者 php.ini 里的 cgi.fix_pathinfo 没设为 1。
  • 内存不足:Windows Server 默认配置较保守。在 php.ini 中调大 memory_limit(例如 256M)和 max_execution_time
  • SSL 证书:生产环境务必配置 HTTPS。IIS 自带 SSL 绑定功能,申请一个免费的 Let’s Encrypt 证书并在 IIS 中绑定端口 443 即可。
  • 性能提速:可以考虑安装 WinCacheAPCu(PHP 用户级缓存)来提升 PHP 脚本的执行速度,减少磁盘 IO。

总结:IIS + Windows Server 跑 WordPress 没有技术壁垒,核心在于PHP-FastCGI 的映射以及URL Rewrite 规则的匹配。只要这两个环节配置无误,其稳定性和安全性完全能满足企业级需求。

未经允许不得转载:云知道CLOUD » IIS + Windows Server能否运行WordPress?配置步骤是什么?