在IIS上搭建WordPress网站,本质是配置Windows服务器环境,让PHP和MySQL运行起来,再部署WordPress程序。 整个过程不需要太高门槛,但需要按步骤操作,下面我会从零开始,把每一步的关键动作和常见坑点都讲清楚。
用IIS搭建WordPress网站需要准备什么?
在动手之前,先把环境捋清楚。IIS搭建WordPress网站 不是把WordPress文件丢进去就能跑的,它依赖三个核心组件:IIS本身、PHP解释器、MySQL数据库,多数人卡在环境配置上,所以准备工作做扎实,后面顺很多。
软件版本选择
- IIS版本:Windows Server 2012及以上自带IIS 8.0+,Windows 10/11也支持,但生产环境建议用服务器系统,IIS 7.5以上都行,但高版本对PHP支持更好。
- PHP版本:WordPress官方推荐PHP 7.4以上,但考虑到安全和兼容性,建议用PHP 8.0或8.1,注意选择Non-Thread Safe版本(NTFS),适合IIS搭配FastCGI使用。
- MySQL版本:MySQL 5.7或8.0,或者用MariaDB(兼容性更好),WordPress对数据库要求不高,但注意字符集要选utf8mb4。
- WordPress版本:从官网下载最新中文版,安装包约20MB。
服务器环境检查
在Windows Server上,IIS角色默认没有安装,需要手动添加,打开服务器管理器,添加角色和功能,勾选Web服务器(IIS),确保安装以下组件:
- 常见HTTP功能:静态内容、默认文档、目录浏览(可选)
- 应用程序开发:CGI(必须)、ISAPI扩展(可选)
- 安全:基本身份验证(按需)
- 管理工具:IIS管理控制台
.NET环境可以不用,因为WordPress是PHP应用,跟.NET无关。
安装IIS并配置PHP环境
这一步是iis配置php环境的核心,也是最容易出错的环节,不少人在网上搜教程,照搬后网站打不开,多半是PHP版本或FastCGI设置不对。
安装IIS并启用CGI
- 通过服务器管理器添加IIS角色,确保CGI功能已勾选,如果没有,可以事后添加。
- 安装完成后,在浏览器访问
http://localhost,应该看到IIS默认页面。 - 因为WordPress需要PHP处理,所以要让IIS认识PHP文件,IIS 7以上通过FastCGI模块实现。
下载并安装PHP
- 从PHP官网下载Non-Thread Safe版本,解压到
C:PHP(不要放在Program Files里,避免空格)。 - 复制
php.ini-production并重命名为php.ini,打开编辑:- 修改
extension_dir = "ext"(启用扩展目录) - 取消注释并启用以下扩展(去掉行首分号):
extension=mysqli、extension=mbstring、extension=openssl、extension=curl、extension=gd、extension=zip、extension=exif、extension=fileinfo - 设置
cgi.fix_pathinfo = 1(重要) - 设置
date.timezone = Asia/Shanghai
- 修改
- 将PHP目录添加到系统环境变量PATH,方便命令行调用。
配置IIS处理PHP请求
- 打开IIS管理器,在根节点点击处理程序映射。
- 添加模块映射:
- 请求路径:
.php - 模块:
FastCgiModule - 可执行文件:
C:PHPphp-cgi.exe - 名称:
PHP via FastCGI
- 请求路径:
- 在根节点点击FastCGI设置,编辑刚才添加的条目,将监视对文件更改设置为
php.ini路径,这样修改配置后无需重启IIS。 - 在站点根目录下新建一个
phpinfo.php为<?php phpinfo(); ?>,访问http://localhost/phpinfo.php,能看到PHP信息说明配置成功。
安装MySQL数据库并创建WordPress站点
数据库是WordPress的仓库,搭建WordPress网站必须有一个数据库,大多数用户选择MySQL,但如果不熟悉,MariaDB也是不错的选择,完全兼容。
安装MySQL或MariaDB
- 下载MySQL社区版(MSI安装包),安装时选择Server only,配置root密码,字符集建议
utf8mb4。 - 安装完成后,打开MySQL命令行工具,登录root账户,创建WordPress专用数据库:
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON wordpress. TO 'wpuser'@'localhost'; FLUSH PRIVILEGES; EXIT;
- 也可以使用phpMyAdmin等图形工具,但命令行更可控。
下载WordPress并配置
- 从官网下载WordPress压缩包,解压到IIS的站点目录,比如
。C:inetpubwwwrootwordpress
- 复制
wp-config-sample.php为wp-config.php,编辑数据库连接信息:define('DB_NAME', 'wordpress');define('DB_USER', 'wpuser');define('DB_PASSWORD', 'your_password');define('DB_HOST', 'localhost');define('DB_CHARSET', 'utf8mb4'); - 在IIS管理器中,右键添加站点,物理路径指向
C:inetpubwwwrootwordpress,绑定域名或IP(如果本地测试,使用默认80端口)。 - 给IIS站点根目录分配权限:IIS_IUSRS用户组至少读取和执行权限,
wp-content目录需要修改权限(用于上传插件、主题)。
运行WordPress安装向导
- 浏览器访问
http://localhost/wordpress(或域名),应该看到WordPress安装页面。 - 填写站点标题、管理员用户名、密码、邮箱,点击安装,如果出现数据库连接错误,检查
wp-config.php中的数据库信息是否正确,以及MySQL服务是否启动。
让WordPress在IIS上完美运行:伪静态与权限设置
WordPress默认的URL结构是带参数?p=123,但多数网站需要伪静态(友好URL)。WordPress在IIS上伪静态设置需要借助URL Rewrite模块,这是IIS上的一个扩展,功能类似Apache的mod_rewrite。
安装URL Rewrite模块
- 从微软官网下载URL Rewrite Module 2.1,安装后重启IIS。
- 在IIS管理器中选择WordPress站点,双击URL重写,右侧点击导入规则,选择从web.config导入。
- WordPress的伪静态规则通常由插件自动生成,但如果手动配置,规则如下:
<rule name="WordPress Rule" stopProcessing="true"> <match url="." /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="index.php" /> </rule>- 将这段规则保存到站点的
web.config文件中(位于站点根目录)。
- 将这段规则保存到站点的
- 进入WordPress后台,设置 → 固定链接,选择你喜欢的格式(如文章名),保存即可生效。
文件权限与安全
- IIS_IUSRS用户对
wp-content目录应有修改权限,否则无法上传文件。 - 建议启用WordPress后台强制SSL(如果使用HTTPS),在
wp-config.php中添加:define('FORCE_SSL_ADMIN', true); - 关闭目录浏览:在IIS站点功能中,双击目录浏览,选择禁用。
性能优化建议
- 启用PHP缓存:使用OPcache扩展,在
php.ini中设置zend_extension=opcache,并配置opcache.enable=1。 - 静态资源缓存:在IIS中设置输出缓存,针对CSS、JS、图片设置过期时间。
- 数据库优化:使用WordPress插件(如WP-Optimize)定期清理无效数据。
常见问题解答
问题1:IIS搭建WordPress时一直提示数据库连接错误怎么办?
检查步骤:确认MySQL服务是否启动(net start mysql);验证wp-config.php中的数据库名称、用户名、密码、主机地址是否正确;确保MySQL用户有权限访问指定数据库;如果使用localhost,尝试改为0.0.1(部分PHP版本解析localhost有问题),如果以上都正确,检查PHP的mysqli扩展是否已启用,并重启IIS。
问题2:WordPress在IIS上如何实现伪静态?
安装URL Rewrite Module,在站点根目录创建web.config文件,放置重写规则(见上文),然后在WordPress后台设置固定链接,如果规则不生效,检查IIS是否已安装该模块,并在站点级别确认URL重写功能已启用,部分虚拟主机商可能未开放URL Rewrite,可以联系技术确认。
问题3:IIS和Apache哪个更适合搭建WordPress网站?
Windows Server搭建WordPress时,如果团队熟悉微软生态,IIS更易维护,且对ASP.NET应用兼容性好,但WordPress本身是PHP应用,Apache在Linux上性能更佳,且伪静态配置更简单(通过.htaccess),IIS配合PHP 8.0以上版本,性能差距已不明显,选择哪个取决于服务器环境:如果已有Windows Server,用IIS完全可行;如果从头搭建,LAMP(Linux+Apache+MySQL+PHP)仍是主流。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/581346.html




