Windows Server IIS部署WordPress详
在Windows Server上通过IIS部署WordPress,核心思路是先让IIS能解析PHP,再为WordPress创建独立数据库,最后配置伪静态规则。
整个过程不需要Linux基础,只要按顺序操作,半小时左右就能让站点正常访问。
环境准备与组件安装
开始之前,请确认服务器已安装Windows Server 2016或更高版本,并拥有管理员权限。
需要准备以下组件:
- IIS角色:在“服务器管理器”中点击“添加角色和功能”,勾选“Web服务器(IIS)”,确保包含“静态内容”、“默认文档”、“目录浏览”、“HTTP错误”等基础模块。
- PHP Manager for IIS:用于在IIS中注册PHP,可从官方渠道下载。
- PHP运行环境:下载Windows版PHP压缩包(建议PHP 7.4或8.0以上,具体版本以官方文档为准),解压到
C:\PHP,不要放在带空格的路径。 - MySQL或MariaDB:安装数据库服务,记住root密码。
安装PHP后,将 C:\PHP 加入系统环境变量Path。
打开命令提示符,执行 php -v,能显示版本号即表示PHP可用。
在IIS中注册PHP并创建站点
IIS默认不能执行PHP文件,必须通过PHP Manager注册。
打开IIS管理器,双击“PHP Manager”,点击“Register new PHP version”,选择 C:\PHP\php-cgi.exe。
注册完成后,在“PHP Settings”中确认 max_execution_time、upload_max_filesize 等参数符合需求。
接着创建WordPress站点:
- 在IIS中右键“网站”,选择“添加网站”。
- 站点名称填写
WordPress,物理路径指向已解压的WordPress根目录,例如C:\inetpub\wordpress。 - 绑定类型选
http,端口默认80,主机名可留空或填入你的域名。 - 点击确定后,在浏览器访问
http://localhost,如果看到WordPress安装界面,说明PHP解析正常。
如果出现403错误,检查站点目录是否给了 IIS_IUSRS 读取权限;
出现500错误,通常是PHP未正确注册或php.ini配置有误。
创建数据库与完成WordPress安装
打开MySQL命令行或phpMyAdmin,执行以下命令创建数据库和用户:
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY '你的强密码';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
然后在浏览器继续WordPress安装流程,填写数据库名 wordpress、用户名 wpuser、密码和主机 localhost。
提交后设置站点标题、管理员账号和密码,完成安装。
安装成功后,登录后台 http://你的域名/wp-admin,能正常进入仪表盘就说明数据库连接无误。
配置web.config伪静态与避坑要点
WordPress默认使用动态链接,需要在IIS中配置URL重写规则。
在WordPress根目录创建或编辑 web.config 文件,写入以下内容:
保存后,在WordPress后台“设置”->“固定链接”中选一个非默认结构,保存一次。
此时访问文章页,如果URL不含 ? 且能正常打开,说明伪静态生效。
p=
几个容易踩的坑:
- PHP版本过旧会导致后台白屏,建议使用PHP 7.4以上,但不要盲目追新,以WordPress官方兼容列表为准。
- 目录权限只给读取和执行,不要给写入权限,上传目录
wp-content/uploads可单独给IIS_IUSRS修改权限。 - 若使用CDN或反向代理,需在
wp-config.php中配置HTTP_X_FORWARDED_FOR,否则可能看到错误IP。
部署后的验证与常见疑问
完成以上步骤后,按以下清单逐项验证:
- 首页、文章页、后台页面均能正常打开。
- 上传一张图片,检查是否出现在媒体库并能显示。
- 在“站点健康”工具中查看是否有红色警告,根据提示调整PHP参数。
- 使用
http://你的域名/wp-login.php能正常登录。
常见疑问:
问:访问任何页面都跳到首页?
答:通常是伪静态规则未生效,检查 web.config 是否放在根目录,并确认IIS安装了URL Rewrite模块。
问:后台安装主题或插件提示“无法创建目录”?
答:给 wp-content 目录临时添加 IIS_IUSRS 的修改权限,安装完成后可移除。
问:PHP执行超时或上传大文件失败?
答:在PHP Manager中调整 max_execution_time、upload_max_filesize 和 post_max_size,并重启IIS。
如果遇到数据库连接错误,优先检查 wp-config.php 中的用户名、密码和主机名是否与创建时一致。
整个Windows Server IIS部署WordPress详细步骤中,权限和伪静态是最容易出问题的环节,耐心核对这两处,基本能解决大部分异常。