在Windows服务器上基于IIS搭建WordPress个人网站,核心在于正确配置IIS允许脚本执行,否则PHP无法运行,网站无法正常访问。很多新手在Windows环境下部署WordPress时,卡在IIS配置这一步,要么白屏,要么500错误,根源往往是脚本执行权限没给到位,本文从实战角度拆解每一步,确保你知道怎么设置,也知道为什么这样设置。
Windows服务器IIS配置WordPress个人网站全流程
搭建环境选择Windows Server 2016/2019/2026或Windows 10/11专业版,IIS版本至少7.0以上,WordPress需要PHP支持,所以IIS必须能处理PHP脚本,以下流程从零开始,涵盖环境准备、IIS设置、脚本执行权限配置、WordPress安装。
搭建前的环境准备与费用估算
个人网站可选本地搭建或租用云服务器,国内Windows云服务器每月费用从几十元到几百元不等,根据配置和带宽决定。WordPress个人网站搭建费用主要取决于服务器和域名,域名每年几十元,服务器初期选低配即可,如果本地测试,直接用Windows自带IIS,零成本。
- 操作系统:Windows 10专业版或Windows Server(推荐Server版,性能更稳定)
- Web服务器:IIS 7.5以上(Windows功能中启用)
- 数据库:MySQL 5.7+ 或 MariaDB(推荐使用官方MySQL Installer)
- PHP版本:7.4或8.0以上(非线程安全版本,搭配FastCGI)
- WordPress安装包:从cn.wordpress.org下载最新中文版
IIS安装与基础配置
打开控制面板→程序和功能→启用或关闭Windows功能,勾选Internet Information Services,并确保在“应用程序开发功能”中勾选CGI和FastCGI,这是IIS执行PHP脚本的基础,不勾选CGI,后续处理程序映射无法生效。
- 安装后,在IIS管理器左侧连接树中右击“网站”,添加新网站
- 站点名称自定义,物理路径指向一个文件夹,例如C:wwwrootwordpress
- 绑定类型选择http,IP地址默认全部未分配,端口80(如果端口被占用可改为8080等)
- 设置完成后,先在浏览器访问http://localhost,看到IIS默认页面即表示IIS工作正常
IIS内网站设置允许脚本执行的具体步骤
WordPress能运行,关键在于IIS能正确解析PHP脚本。IIS内网站设置允许脚本执行涉及三个方面:处理程序映射、FastCGI设置、站点权限,以下步骤逐一操作,缺一不可。
第一步:配置PHP与FastCGI
下载PHP非线程安全版本,解压到C:php,将php.ini-development复制为php.ini,修改extension_dir = “C:phpext”,并启用必要的扩展,如php_mysqli、php_mbstring等,然后配置IIS FastCGI:
– 打开IIS管理器,选择服务器根节点,双击“FastCGI设置”
– 添加应用程序,完整路径为C:phpphp-cgi.exe,参数留空
– 环境变量中添加PHPRC,值为C:php(指定php.ini目录)
第二步:添加处理程序映射
在IIS管理器中选择你的网站,双击“处理程序映射”:
– 右侧点击“添加模块映射”
– 请求路径:.php
– 模块:FastCgiModule
– 可执行文件:C:phpphp-cgi.exe
– 名称:PHP-FastCGI
– 单击“确定”,如果提示允许ISAPI或CGI限制,选择“是”
这一步告诉IIS,所有以.php结尾的请求都交给php-cgi.exe处理。处理程序映射是所有脚本执行的核心,遗漏此步骤WordPress只会输出空白或直接下载文件。
第三步:设置站点权限与脚本执行权限
选择网站,双击“功能视图”中的“SSL设置”,确保“要求SSL”未勾选,否则HTTP访问会被拒绝,在网站主页右侧点击“编辑权限”,切换到“安全”选项卡:
– 添加IIS_IUSRS用户,赋予“读取和执行”、“列出文件夹内容”、“读取”权限
– 如果网站目录需要写入(如wp-content/uploads),还要给IIS_IUSRS“修改”权限
– 在IIS管理器中,选择网站,双击“请求筛选”,确保“允许所有请求”或至少允许.php文件
在网站“功能视图”中找到“默认文档”,添加index.php作为默认文档,否则访问域名时不会自动加载WordPress首页。
WordPress在IIS上的完整部署流程
环境就绪后,开始安装WordPress,将下载的WordPress解压到网站物理路径(C:wwwrootwordpress),此时访问http://localhost应该看到WordPress安装向导,如果出现“您的PHP似乎没有安装运行WordPress所需的MySQL扩展”,说明PHP扩展未启用,检查php.ini中的extension_dir和mysqli扩展注释。
数据库创建与配置
使用MySQL命令行或phpMyAdmin创建数据库,
– 数据库名:wordpress
– 用户:root或新建专用用户
– 密码:自定义
将根目录下的wp-config-sample.php复制为wp-config.php,修改数据库连接信息:
- DB_NAME:wordpress
- DB_USER:root
- DB_PASSWORD:你的密码
- DB_HOST:localhost
保存后刷新浏览器,填写站点信息,即可完成安装。
URL重写与固定链接
WordPress默认使用动态URL,但个人网站通常希望用友好的固定链接结构,IIS下需要借助URL Rewrite模块,从微软官方网站下载URL Rewrite安装包,安装后重启IIS,在WordPress后台设置固定链接为“文章名”或“自定义结构”,IIS会自动生成web.config规则,如果无法自动生成,可手动在网站根目录创建web.config,内容包含:
IIS脚本执行常见问题与解决方案
即使按照上述步骤操作,仍可能遇到一些问题。IIS如何允许脚本执行的疑问通常集中在错误代码和权限上,以下列出典型场景及解决方法。
访问WordPress出现500错误或空白页
多数情况下是PHP扩展未加载或FastCGI配置错误,检查IIS管理器中的FastCGI设置,确保php-cgi.exe路径正确,在网站目录下创建test.php,内容为,访问看是否正常显示,如果仍然空白,打开事件查看器,查看Windows日志下的应用程序错误,根据具体报错调整。
WordPress后台主题或插件安装提示需要ftp连接
这是因为IIS进程用户(IIS_IUSRS)对WordPress目录没有写入权限,解决方案:给网站物理路径添加IIS_IUSRS完全控制权限(至少修改权限),如果不想给过高权限,可在wp-config.php中添加define(‘FS_METHOD’, ‘direct’);,强制使用直接文件写入。
IIS网站设置允许脚本执行后,PHP文件还是被下载
这表明处理程序映射未生效或模块未加载,检查IIS根节点的“ISAPI和CGI限制”,确保PHP路径显示为“允许”,如果使用PHP 8.0以上版本,确认FastCGI模块已启用,并且处理程序映射中的可执行文件指向正确的php-cgi.exe,而不是php.exe。
关于IIS脚本执行与WordPress搭建的常见问题
为什么我的WordPress在IIS上显示空白页?
空白页通常是PHP错误被屏蔽或FastCGI配置异常,检查php.ini中display_errors是否设为On,并查看IIS日志(位于C:inetpublogsLogFiles),最常见原因是PHP扩展路径错误,导致mysqli扩展无法加载,WordPress无法连接数据库,修正php.ini中的extension_dir指向正确目录,并确保启用相应扩展。
IIS中脚本执行权限和普通网站权限有什么区别?
脚本执行权限指IIS允许在该站点下执行特定类型的程序,如PHP、ASP.NET等,普通网站权限只涉及静态文件(HTML、图片)的读取,没有脚本执行权限,PHP文件会被当作静态文件处理,可能直接下载或显示源码,在IIS中,脚本执行权限通过处理程序映射和FastCGI设置共同控制,与文件系统权限(NTFS权限)是两套体系,需要同时配置。
个人网站搭建需要多少费用?
如果使用本地Windows电脑搭建,仅需域名费用(每年几十元),内网访问免费,如果上线公网,租用国内Windows云服务器,入门配置1核2G内存的系统盘20G,每月费用约50-100元,加上域名年费,WordPress个人网站搭建费用初期控制在200元以内,如果选择Linux服务器会更便宜,但本文基于Windows,所以费用略高,但胜在图形界面友好,适合不熟悉命令行的用户。
正确配置IIS脚本执行能力是WordPress在Windows上稳定运行的基础,从FastCGI部署到处理程序映射,每一步都关联着后续的访问体验,按照上述步骤操作,你就能搭建一个属于自己的个人网站,并彻底搞懂IIS脚本执行权限的管理逻辑。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/573933.html




