Windows IIS 上安装部署 WordPress 网站快速简要教程

关于在 Windows Server 上部署 WordPress 站点,前面按步骤写了好几篇文章,截了好多图。自己感觉有点啰嗦,写的太多了,好像在 Windows 上部署一个 WordPress 站点有多么复杂似的,所以本文干脆再整理一篇稍微简化一点的。如果想看啰嗦详细的,请访问下面这些链接:

Windows 上可以完美运行 PHP WordPress 站点,Windows 上也可以安装运行 MySQL,PHP、MySQL 本来就是跨平台的。微软也对 IIS 运行 PHP 程序有很好的支持,可以看这个链接:https://php.iis.net。任何支持 PHP 和MySQL 的服务器都可以用来运行 WordPress。

WordPress.org 官方推荐服务器配置,WordPress 网站主机

  • PHP 5.2 或更高版本
  • MySQL 5.0.15 或更高版本

环境

  • 操作系统:安装有 IIS 的任何 Windows 机器。请忽略老掉牙的 Windows XP、Windows Server 2003,虽然也可以跑 WordPress。
  • PHP:WordPress 是 PHP 语言开发的网站程序。PHP 可以在 IIS 上以 FastCGI 方式运行 。
  • MySQL:WordPress 数据存储使用的是 MySQL 数据库,所以需要一台 MySQL 数据库服务器或者自行安装。

MySQL 数据库

如果已经有现成的 MySQL 数据库服务器,请忽略安装步骤。无论是 Linux 或者 Windows ,能连接上就行,直接创建一个空的数据库。运行 WordPress 站点,个人建议使用 Oracle MySQL 官方版本,不要使用 MariaDB 等分支版本。我起初用的就是 MariaDB,运行 WordPress 主程序没问题,但是有些主题、插件会报错。

下载 MySQL for Windows 安装文件

Oracle MySQL 官方安装包文件下载页面

安装 MySQL

服务器上只需要安装 MySQL Server 就可以了, 如果要在服务器上操作 MySQL 数据库,建议把 MySQL Workbench 客户端工具也装上。在运行 MySQL Installer 前,可以先确保机器上已经安装有 Microsoft Visual C++ for Visual Studio 可再发行组件包;或者你也可以像我一样,直接运行 MySQL Installer,让它自己检测,如果提示缺少 VC++ ,则退出 MySQL Installer,再手动安装 VC++ 包。

安装Microsoft Visual C++ for Visual Studio 可再发行组件包:

Windows Server 安装 MySQL,安装 Microsoft Visual C++ 2013 可再发行组件包

安装 MySQL Server 和 MySQL Workbench:

Windows Server 安装 MySQL,选择 MySQL Server 和 Workbench 产品

创建一个 WordPress MySQL 数据库

你可以用命令创建 MySQL 数据库,这里用 Workbench 客户端工具可视化操作。

Workbench 创建 MySQL 数据库

IIS 配置 PHP 支持

下载 PHP for Windows 安装文件

  • PHP for Windows 官方下载页面:http://windows.php.net/download
  • PHP 也需要 Microsoft Visual C++ Redistributable for Visual Studio 可再发行组件包,且上述 PHP for Windows 页面有列 Visual C++ 可在发行组件包各版本下载地址。
  • PHP 版本:根据操作系统和 Web 服务器(IIS 或者 Apache)的不同,要下载相应的 PHP 文件,如下图下载页面有详细说明:
    • IIS:下载 VC15 x86 Non Thread Safe 或者 VC15 x64 Non Thread Safe 版本。
    • Apache:下载 VC15 x86 Thread Safe 或者 VC15 x64 Thread Safe 版本。
  • PHP 5.x or 7.x:

PHP for Windows 官方下载页面

安装 PHP

1. 直接解压下载下来的 PHP zip包件,比如 C 盘根目录 C:\PHP。

2. 打开 C:\PHP 目录,复制 php.ini-production 文件,去掉“-production”重命名为 php.ini。

3. 修改 php.ini 如下设置:

  1. cgi.force_redirect = 0
  2. fastcgi.impersonate = 1
  3. ;去掉前面分号”;”注释,开启扩展模块
  4. extension=curl
  5. extension=mysqli

确保 IIS 已开启 CGI 模块选项

IIS 开启 CG I支持模块选项

在 IIS 上添加 PHP FastCGI 模块支持

IIS 处理程序映射 添加模块映射

IIS Add Module Mapping 添加模块映射

在 IIS FastCGI 设置(FastCGI Setting)界面,右键/编辑或者双击 C:\PHP\php-cgi.exe,设置监视 php.ini 文件改动:

IIS 编辑 PHP FastCGI Setting 设置

IIS 设置监视 PHP.ini 文件更改

测试 PHP 是否安装成功

在 IIS 上已存在的站点(或者新建一个站点)目录下新建一个 test.php文件,文件内容输入:<?php phpinfo(); ?>。然后在浏览器里访问这个文件地址。如果如下图,则说明 PHP 安装配置 OK。

IIS 测试 PHP 安装运行

安装 IIS URL Rewrite 模块

如果你想 WordPress 站点有漂亮的对用户和搜索引擎友好的 URL 链接格式,需要确保 IIS 安装了 URL Rewrite 模块,否则 会报 404 错误。

下载 IIS URL Rewrite 模块:

微软官方 IIS URL Rewrite 模块下载页面

安装完成后,在 IIS 的 Features View(功能视图),可以看到一个 URL Rewrite:

查看 IIS URL Rewrite 模块

IIS 上添加部署 WordPress 网站

下载 WordPress

Downlaod WordPress 下载 WordPress 压缩包

添加 IIS 网站

1. 解压下载好的 WordPress 压缩包,如:D:\WebSites\demo.wordpress.com。

2. 在 WordPress 程序文件夹根目录,找到 wp-config-sample.php文件,并重命名为 wp-config.php。

3. 用文本编辑器打开 wp-config.php 文件,修改 MySQL 数据库连接信息(上述 MySQL 步骤创建好的空数据库):

  1. // ** MySQL settings – You can get this info from your web host ** //
  2. /** The name of the database for WordPress */
  3. /*数据库名称*/
  4. define(‘DB_NAME’, ‘wordpressdemo’);
  5. /** MySQL database username */
  6. /*登录用户名, 须有上述数据库操作访问权限*/
  7. define(‘DB_USER’, ‘demodbo’);
  8. /** MySQL database password */
  9. /*数据库用户登录密码*/
  10. define(‘DB_PASSWORD’, ‘demoPassword’);
  11. /** MySQL hostname */
  12. /** 数据库服务器名或者IP,如果 MySQL 端口不是默认的3306,则格式为 hostname:端口号, 如: localhost:3307 */
  13. define(‘DB_HOST’, ‘localhost’);

4. 和一般普通网站(ASP.NET/MVC或者其它类型)的添加方式一样,在IIS 上添加一个站点,指向 WordPress 程序文件所在目录。

5. 给这个这点添加一个默认文档 index.php。可以把 Default.htm、default.aspx、等其它默认页面文档都删除了,只保留 index.php。

IIS 添加 WordPress 默认文档 index.php

6. 浏览器访问这个网站,会自动进行第一次初始化安装:

WordPress 首次初始化安装

7. 安装完成后,登录进入 WordPress 管理后台:

WordPress 后台管理控制面板

设置漂亮友好的固定链接格式

一般网站采用的比较友好的链接格式,如:

  1. #1 包含分类目录、Url 别名:
  2. https://blog.codeusing.com/category/post-name/
  3. #2 只包含 Url 别名
  4. https://blog.codeusing.com/post-name
  5. #3 包含年、月、日、Url 别名:
  6. http://example.com/year/month/day/post-name

如果你也想要这种格式:

1. 安装了 IIS URL Rewrite 模块。

2. 在 WordPress 网站根目录 web.config(没有的话创建一个) 文件里添加了 URL 路由重写规则:

  1. <rewrite>
  2. <rules>
  3. <rule name=“Main Rule” stopProcessing=”true”>
  4. <match url=“.*” />
  5. <conditions logicalGrouping=“MatchAll”>
  6. <add input=“{REQUEST_FILENAME}” matchType=”IsFile” negate=”true” />
  7. <add input=“{REQUEST_FILENAME}” matchType=”IsDirectory” negate=”true” />
  8. </conditions>
  9. <action type=“Rewrite” url=”index.php/{R:0}” />
  10. </rule>
  11. <rule name=“WordPress: demo.wordpress.com” patternSyntax=”Wildcard”>
  12. <match url=“*” />
  13. <conditions>
  14. <add input=“{REQUEST_FILENAME}” matchType=”IsFile” negate=”true” />
  15. <add input=“{REQUEST_FILENAME}” matchType=”IsDirectory” negate=”true” />
  16. </conditions>
  17. <action type=“Rewrite” url=”index.php” />
  18. </rule>
  19. </rules>
  20. </rewrite>

Wordpress 添加 IIS URL Rewrite 路由规则

3. 在 WordPress 固定链接设置界面进行配置:

Wordpress 固定链接设置 Permalink Settings

4. 浏览测试前台页面:

Wordpress 添加 IIS Url Rewrite 规则后,页面可以正常访问

结束,搞定!