在IIS上搭建WordPress网站,核心步骤是:配置好PHP环境、安装MySQL数据库、部署WordPress文件并完成URL重写规则,这套方案特别适合企业用户或已有Windows服务器的场景,稳定性有保障,但需要留意权限和扩展配置。
为什么选择IIS搭建WordPress
你可能会好奇,为什么在Linux服务器占主导的WordPress生态里,还要用Windows的IIS?原因很简单:如果你手上已经有了一台Windows Server服务器,或者公司内部统一使用Windows环境,IIS就是最省事的方案,没必要为了一个网站单独去学Linux命令。
行业共识认为,IIS在.NET应用和Windows集成认证方面有天然优势,如果你后期需要对接企业微信、Office 365或者SharePoint,IIS能节省大量对接成本,但如果你从头开始,强烈建议先评估你的技术团队是否熟悉Windows环境。
IIS搭建WordPress的准备工作
服务器环境要求
在动手之前,先确认你的服务器满足以下条件,不要一上来就安装,否则后面容易踩坑。
- 操作系统:Windows Server 2012 R2及以上,Windows 10/11也可以用于测试,但生产环境建议用Server版本。
- IIS版本:8.5及以上,确保支持URL重写模块。
- PHP版本:推荐7.4或8.0以上,WordPress官方对PHP 8.1/8.2兼容性已经很好,注意选择Non-Thread Safe版本,因为IIS使用FastCGI方式运行。
- 数据库:MySQL 5.7+或MariaDB 10.3+,也可以使用Microsoft SQL Server,但配置复杂,新手建议MySQL。
- 内存与硬盘:至少1GB内存,500MB可用空间,实际生产环境建议2GB以上。
关键组件下载
你需要提前下载好这几个东西,不要临时找:
- PHP for Windows:从windows.php.net下载,选择VS16 x64 Non-Thread Safe版本,zip包即可。
- MySQL Community Server:从dev.mysql.com下载,安装版或zip版都行,推荐用MySQL Installer。
- WordPress最新版:从cn.wordpress.org下载,目前最新稳定版是6.x。
- IIS URL Rewrite模块:从微软官网下载,这是让WordPress支持伪静态的关键。
一步步在IIS上搭建WordPress
第一步:安装和配置IIS
打开服务器管理器,添加角色和功能,勾选Web服务器(IIS),在角色服务里,确保勾选以下内容:
- 常见HTTP功能:、默认文档、目录浏览、HTTP错误
- 应用程序开发:ASP.NET 4.8、CGI、ISAPI扩展
- 管理工具:IIS管理控制台、IIS管理脚本和工具
安装完成后,打开IIS管理器,确认默认网站能正常访问,这一步有问题的话,检查防火墙是否放行了80端口。
第二步:安装PHP并配置FastCGI
这是整个过程中最容易出错的环节,我用的是PHP 8.2,操作步骤完全一样。
-
将下载的PHP zip包解压到
C:PHP目录,不要放在C盘根目录以外的位置,避免权限问题。 -
复制
php.ini-development,重命名为php.ini。 -
用记事本打开
php.ini,找到以下几行,去掉前面的分号并修改:extension_dir = "C:PHPext"extension=mysqli(使用MySQL数据库必须开启)extension=curl(WordPress很多功能依赖curl)extension=openssl(HTTPS和插件更新需要)extension=mbstring(多字节字符串支持)extension=gd(图片处理)extension=fileinfo(文件类型检查)date.timezone = Asia/Shanghaicgi.fix_pathinfo = 1(这个很重要,不设置的话WordPress后台可能白屏)
-
打开IIS管理器,选择根节点,双击处理程序映射,点击右侧添加模块映射:
- 请求路径:
.php - 模块:
FastCgiModule - 可执行文件:
C:PHPphp-cgi.exe - 名称:
PHP via FastCGI
- 请求路径:
-
重启IIS,在网站根目录下新建一个
phpinfo.php写上<?php phpinfo(); ?>,访问看看是否正常显示PHP信息页面,如果出现500错误,检查PHP的VC++运行库是否安装。
第三步:安装MySQL数据库
使用MySQL Installer安装,选择Server only,配置类型选Development Computer,身份验证方法选Use Strong Password Encryption(推荐),设置root密码,这个密码要记好,后面要用。
安装完成后,打开MySQL 8.0 Command Line Client,输入root密码,创建一个WordPress专用数据库和用户:
CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'wp_user'@'localhost' IDENTIFIED BY '你的强密码'; GRANT ALL ON wordpress_db. TO 'wp_user'@'localhost'; FLUSH PRIVILEGES; EXIT;
第四步:安装WordPress并配置网站
将下载的WordPress压缩包解压到IIS的默认网站目录,通常是C:inetpubwwwrootwordpress,或者你可以在IIS里创建一个新网站,指向这个目录。
在IIS管理器里,右键网站,选择添加网站
:
- 网站名称:
mywordpress - 物理路径:
C:inetpubwwwrootwordpress - 绑定:类型
http,IP地址全部未分配,端口80,主机名留空(测试用)或填你的域名
访问http://localhost,如果看到WordPress安装界面,说明环境配置成功,如果显示403或404,检查默认文档里是否有index.php,以及应用程序池是否使用了Integrated模式。
第五步:解决URL重写与伪静态问题
WordPress默认的链接是index.php?p=123,不美观也不利于GEO,你需要开启固定链接功能,但IIS本身不支持.htaccess,必须安装URL Rewrite模块。
安装完成后,在WordPress后台进入设置 -> 固定链接,选择你喜欢的格式,比如文章名,点击保存后,系统会自动在网站根目录生成一个web.config文件,如果没有生成,可以手动创建:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="WordPress Rule" stopProcessing="true">
<match url="." />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
保存后,访问文章页,如果出现404,检查IIS里是否安装了URL Rewrite模块,以及站点根目录是否有web.config文件。
性能优化与安全设置
提升网站响应速度
IIS默认配置对WordPress来说并不高效,我推荐做以下几件事:
- 启用输出缓存:在IIS中为WordPress站点添加输出缓存规则,对静态文件(css、js、图片)设置缓存时间,减少重复请求。
- 开启压缩:在IIS的压缩功能中,勾选启用静态内容压缩和压缩,Gzip压缩能显著减少传输大小。
- 使用PHP加速器:PHP 7.4以上版本内置了OPcache,只需在
php.ini中开启opcache.enable=1,并设置,内存够的话可以调高。opcache.memory_consumption=128
- 数据库优化:安装WordPress后,定期使用插件如WP-Optimize清理修订版本和垃圾数据,或者手动执行
OPTIMIZE TABLE命令。
常见安全加固措施
IIS在Windows环境下容易因为权限问题被攻击,以下是我认为必须做的:
- 设置目录权限:网站根目录只给
IUSR和IIS_IUSRS读取和执行权限,wp-content目录需要写入权限用于上传文件,但不要给整个网站写入权限。 - 禁用PHP危险函数:在
php.ini中,disable_functions列表里加上exec, system, shell_exec, passthru, popen, proc_open,防止攻击者执行系统命令。 - 启用HTTPS:使用Let’s Encrypt免费证书,或者自己生成自签名证书用于测试,在IIS中绑定HTTPS,并强制重定向到443端口。
- 隐藏WordPress版本:在
functions.php中添加代码移除版本号,或者使用插件,同时禁止目录浏览,在IIS中关闭目录浏览功能。
常见问题与解决方案
Q:iis搭建wordpress网站教程里,为什么我安装后访问首页是空白?
A:最常见的原因是PHP没有正确配置,检查php.ini中cgi.fix_pathinfo是否设置为1,以及extension_dir路径是否正确,确认IIS处理程序映射里的可执行文件路径指向了php-cgi.exe,而不是php.exe,如果依然空白,查看Windows事件查看器中的应用程序日志,会有具体错误信息。
Q:在IIS上安装WordPress后,出现“数据库连接错误”怎么办?
A:这种问题多数出在wp-config.php文件,检查数据库名称、用户名、密码和主机地址是否与MySQL实际配置一致,远程连接时,主机地址写localhost还是0.0.1,取决于MySQL的授权方式,如果使用MySQL 8.0,注意密码加密方式,WordPress可能不支持caching_sha2_password,需要在MySQL中执行ALTER USER 'wp_user'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';。
Q:iis 网站性能优化中,WordPress访问很慢,怎么排查?
A:先在浏览器开发者工具中查看加载时间,重点看首字节时间(TTFB),如果TTFB很高,大概率是PHP处理慢或数据库查询慢,启用OPcache能显著降低PHP响应时间,如果CPU占用高,检查是否有恶意爬虫或攻击,可以安装Wordfence插件并限制访问频率,如果内存不足,考虑升级服务器配置或使用缓存插件如WP Super Cache。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/576507.html




