前言
ityouzi.com 这个网站已搭建了近10年了,使用WordPress和云厂商的虚拟主机搭建的。我自己是一个.NET开发者,对PHP、MySQL这些其实并不熟悉,后来自己买了阿里云的windows服务器,所以想着把网站整体的迁移到windows服务器上,网站容器使用IIS。
整体的迁移中也是一波三折,出现了不少的问题,经过一天多的研究总算是搞好了,这里我搭建的流程和细节整理了下,方便有需要的朋友参考。纯属个人经验分享,不正之处望见谅!
第一部分:服务器的环境搭建
1、服务器操作系统:windows server 2025数据中心版本。
2、服务器上安装IIS
- 具体如何安装IIS请百度看下,此处不赘述。
- 安装时有个细节注意下,注意“CGI”要勾选,下图。如果之前安装的时候没有勾选,也可以后面重新勾选。

3、需要使用的软件:IIS、MySQL、PHP、WordPress。各软件的安装和下载在下面会列出。
4、因为要使用Wopress要注意每个系统之间的版本,具体兼容版本见下面的链接。一定要注意版本,不然存在不兼容。查看版本支持:点击查看 。我这里使用的是“WordPress 6.6”
第二部分:安装MySQL和配置
1、因为是个人的博客系统,使用量不大,所以我采用的版本是:mysql-installer-community-8.0.41.0.。注意是社区版本(免费)不是企业版本(收费)。
2、下载链接地址:点击下载

3、MySQL安装,这个不复杂,按照流程一步步操作即可。安装的时候有以下几个注意事项:
- 安装的目录和端口,这个建议使用默认值。
- 安装的时候设置 root 的密码,这个注意保存好。
- 安装好以后配置环境变量,不设置的话cmd里面命令使用不方便。
- MySQL安装和环境变量设置教程:点击查看
4、安装数据库管理工具,用于连接数据库和执行相关SQL
- 如果是直接在WordPress上导出的数据,则不用安装管理工具。如果从之前数据库导出的SQL语句,这里使用管理工具操作起来会方便一些。
- 推荐使用:navicat,这个工具有中文且操作比较方便。软件是要收费的,有14天试用时间,网上也有方法破解。
- 这个软件安装比较简单,中文操作下一步、下一步即可。
- Navicat官网下载地址:点击下载
- Navicat安装和破解教程:点击查看
5、创建数据库和数据库配置
5.1、第一步:创建数据。可以直接使用Navicat来操作,或者命令也可以。下图。

5.2、创建用户名和密码,并设置访问新创建的数据库权限,SQL代码如下,注意替换成自己的。
/*创建一个数据库用户SQL。 name:是登录的账号名称;dtest!@7*33:是登录的密码,自己设置 */
CREATE USER 'name'@'%' IDENTIFIED BY 'dtest!@7*33';
/*给用户访问数据库的权限SQL。databaseName:是数据库名称,也就是上面创建的;name:是登录的账号名称 */
GRANT ALL PRIVILEGES ON databaseName.* TO 'name'@'%' ;
上面创建好以后,可以使用Navicat测试下连接和打开数据库,能正常打开即可。
第三部分:PHP安装和配置
1、PHP不用安装,下载解压就可以使用,注意版本。
2、PHP下载地址:点击下载。

3、将下载好的PHP文件解压一个文件夹,比如D:\PHP
4、设置php.ini文件。在目录里面找到“php.ini-production” 文件,去掉“-production”重命名为 php.ini
5、修改php.ini文件,
修改下面几个配置的值如下
cgi.force_redirect = 0
fastcgi.impersonate = 1
extension_dir = "ext" 设置扩展模块目录,不设置会导致mysqli等模块无法启用
开启扩展模块,也就是将前面的“;”删除掉
extension=curl
extension=mysqli
upload_max_filesize = 20M 最大允许上传文件大小
max_execution_time = 300 PHP脚本最大执行时间可以适当设置大一些,比如升级WordPress时可能超时报错
6、在IIS上配置PHP,让能解析.php的文件。
6.1、添加处理程序映射,按照下图的方式设置。


6.2、在功能视图界面,双击“FastCGI设置”。

6.3、在编辑 FastCGI 应用程序对话框界面,设置监视对文件所做的更改为:C:\PHP\php.ini(这里替换成自己的目录)。如果 php.ini 配置文件更改,PHP FastCGI 进程会回收,使更改生效。

6.4、完成上面的设置后,测试PHP是否配置成功,检查PHP程序是否能正常运行。在IIS上随便创建一个网站,然后在该网站的目录上放一个“test.php”文件,文件的内容就一段话。然后在浏览器中访问这个地址,如果能显示下图,则说明PHP配置成功。
<?php phpinfo(); ?>

6.5、检查mysql扩展是否配置正确,在上图的页面,搜索下“mysqli”,如果能出现下图的内容就表示成功了,不然则表示mysql配置有问题,后面数据库无法使用。

6.6、完成上面的工作,则PHP配置完成
第四部分:WordPress安装和配置
1、下载WordPress,注意版本。下载地址:点击下载

2、下载完成以后,解压文件并放到合适的位置,这个文件就是IIS上网站对应的目录。
3、添加WordPress的配置文件,创建一个文件,名称:wp-config.php,内容则是下面完整的代码,注意将其中的数据库名称、用户名和密码替换成自己的。然后把该文件复制到上面的目录即可。
<?php
/**
* WordPress 基本配置文件。
*
* 本文件包含以下配置选项:MySQL 设置、数据库表前缀、
* 密钥、WordPress 语言设置以及 ABSPATH。如需更多信息,请访问
* {@link https://wordpress.org/support/article/editing-wp-config-php/ 编辑 wp-config.php}
* Codex 页面。您可以通过 WordPress 管理后台获取 MySQL 设置。
*
* 这个文件用于安装程序自动生成 wp-config.php 文件。
* 您不需要手动使用该文件,但请保留该文件以备不时之需。
*
* @package WordPress
*/
// ** MySQL 设置 - 具体信息来自您的主机提供商 ** //
/** WordPress 数据库的名称 */
define( 'DB_NAME', '数据库名称' );
/** MySQL 数据库用户名 */
define( 'DB_USER', '数据库用户名' );
/** MySQL 数据库密码 */
define( 'DB_PASSWORD', '数据库用户名对应的密码' );
/** MySQL 主机 */
define( 'DB_HOST', 'localhost' );
/** 创建数据表时默认的文字编码 */
define( 'DB_CHARSET', 'utf8mb4' );
/** 数据库整理类型。如不确定请勿更改 */
define( 'DB_COLLATE', '' );
/**#@+
* 身份认证密钥与盐。
*
* 修改为任意独一无二的字符串!
* 您可以使用 {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org 密钥生成服务} 来生成这些值。
* 您可于任何时候修改这些值以使所有 cookies 失效,这将强制所有用户必须重新登录。
*
* @since 2.6.0
*/
define( 'AUTH_KEY', 'put your unique phrase here' );
define( 'SECURE_AUTH_KEY', 'put your unique phrase here' );
define( 'LOGGED_IN_KEY', 'put your unique phrase here' );
define( 'NONCE_KEY', 'put your unique phrase here' );
define( 'AUTH_SALT', 'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT', 'put your unique phrase here' );
define( 'NONCE_SALT', 'put your unique phrase here' );
/**#@-*/
/**
* WordPress 数据表前缀。
*
* 如果您有在同一数据库内安装多个 WordPress 的需求,请为每个 WordPress 设置不同的数据表前缀。
* 前缀名只能为数字、字母和下划线。
*/
$table_prefix = 'wp_';
/**
* 开发者专用:WordPress 调试模式。
*
* 将此值改为 true 将启用开发过程中显示的通知。
* 强烈建议插件和主题开发者使用 WP_DEBUG 来进行开发。
*
* 有关 WordPress 调试的其他信息,请访问 Codex 页面。
*
* @link https://wordpress.org/support/article/debugging-in-wordpress/
*/
define( 'WP_DEBUG', false );
/**
* 开发者专用:JavaScript 调试。
*
* 将此值改为 true 将启用 JavaScript 调试。
*/
define( 'SCRIPT_DEBUG', false );
/**
* 开发者专用:保存数据库查询。
*
* 将此值改为 true 将保存所有数据库查询到数组 $wpdb->queries。
* 默认情况下,此功能是关闭的,因为它可能会影响性能。
*/
define( 'SAVEQUERIES', false );
/**
* 语言设置。
*
* 将 WPLANG 定义为您的语言代码,例如 'zh_CN' 表示简体中文。
* 您可以从 WordPress 语言包页面下载对应的语言包。
*/
define( 'WPLANG', 'zh_CN' );
/**
* 自动保存间隔。
*
* 设置文章编辑时自动保存的时间间隔(以秒为单位)。
* 默认值为 60 秒。
*/
define( 'AUTOSAVE_INTERVAL', 60 );
/**
* 修订版本保存次数。
*
* 设置保存的文章修订版本的最大数量。
* 默认值为 -1,表示不限制数量。
*/
define( 'WP_POST_REVISIONS', -1 );
/**
* 禁用文件编辑。
*
* 将此值改为 true 将禁用 WordPress 后台的主题和插件编辑器。
* 建议在生产环境中启用此选项以增强安全性。
*/
define( 'DISALLOW_FILE_EDIT', true );
/**
* 自动更新设置。
*
* 控制 WordPress 核心、插件和主题的自动更新行为。
* 可选值:'minor'(仅自动更新小版本)、false(禁用自动更新)、true(启用所有自动更新)。
*/
define( 'WP_AUTO_UPDATE_CORE', 'minor' );
/**
* 内存限制。
*
* 设置 WordPress 可用的最大内存。
* 默认值为 '64M',建议根据服务器配置调整。
*/
define( 'WP_MEMORY_LIMIT', '64M' );
/**
* 最大内存限制。
*
* 设置 WordPress 在管理后台可用的最大内存。
* 默认值为 '256M',建议根据服务器配置调整。
*/
define( 'WP_MAX_MEMORY_LIMIT', '256M' );
/**
* 绝对路径。
*
* 设置 WordPress 的绝对路径。
*/
if ( ! defined( 'ABSPATH' ) ) {
define( 'ABSPATH', __DIR__ . '/' );
}
/** 设置 WordPress 变量和包含文件。 */
require_once ABSPATH . 'wp-settings.php';
3、IIS上部署网站。IIS上创建一个网站,然后把目录指向到上面解压的文件夹,因为在服务器上可以暂时不使用域名,使用端口号的方式访问。
4、删除网站的所有默认文档,新增一个“index.php”,下图。

5、安装配置WordPress网站,打开新添加的网站,如果没有异常的话就会进入到WordPress的首次设置界面。下图。

6、按照流程进行简单的设置就可以了,设置成功以后就可以进入网站的后台了。下图。


完成以上繁琐的步骤,整体网站就算是跑起来了。以上是我在搭建的时候的一些经验总结,希望能帮到大家,如有问题可评论区留言,不正之处也还请见谅,谢谢!!!
碍于篇幅有限,关于URL地址重写、HTTPS证书等内容请查看后续内容。
发布者:IT柚子,转转请注明出处:https://ityouzi.com/archives/windows_wordpress_iis.html