关于在 Windows Server 上部署 WordPress 站点,前面按步骤写了好几篇文章,截了好多图。自己感觉有点啰嗦,写的太多了,好像在 Windows 上部署一个 WordPress 站点有多么复杂似的,所以本文干脆再整理一篇稍微简化一点的。如果想看啰嗦详细的,请访问下面这些链接:
- Windows Server 上安装部署 WordPress(1):概要
- Windows Server 上安装部署 WordPress(2):安装 MySQL
- Windows Server 上安装部署 WordPress(3):在 IIS上安装配置 PHP 支持
- Windows Server 上安装部署 WordPress(4):在 IIS上部署 WordPress 站点
- Windows Server 上安装部署 WordPress(5):IIS 下 WordPress 站点的固定 URL 链接格式设置
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 官方下载页面: https://dev.mysql.com/downloads/installer。
- Windows 上安装运行 MySQL,需要有 Microsoft Visual C++ 可再发行组件包(Visual C++ Redistributable Packages for Visual Studio XXXX)。目前最新版 MySQL 5.7.20,需要的是 Visual C++ Redistributable for Visual Studio 2013。Microsoft Visual C++ 可再发行组件各版本下载链接:
- Visual C++ Redistributable for Visual Studio 2012 Update 4 x86 or x64
- Visual C++ Redistributable for Visual Studio 2013 x86 or x64
- Visual C++ Redistributable for Visual Studio 2015 x86 or x64
- Visual C++ Redistributable for Visual Studio 2017: x64, x86
安装 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 可再发行组件包:
安装 MySQL Server 和 MySQL Workbench:
创建一个 WordPress MySQL 数据库
你可以用命令创建 MySQL 数据库,这里用 Workbench 客户端工具可视化操作。
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
1. 直接解压下载下来的 PHP zip包件,比如 C 盘根目录 C:\PHP。
2. 打开 C:\PHP 目录,复制 php.ini-production 文件,去掉“-production”重命名为 php.ini。
3. 修改 php.ini 如下设置:
- cgi.force_redirect = 0
- fastcgi.impersonate = 1
- ;去掉前面分号”;”注释,开启扩展模块
- extension=curl
- extension=mysqli
确保 IIS 已开启 CGI 模块选项
在 IIS 上添加 PHP FastCGI 模块支持
在 IIS FastCGI 设置(FastCGI Setting)界面,右键/编辑或者双击 C:\PHP\php-cgi.exe,设置监视 php.ini 文件改动:
测试 PHP 是否安装成功
在 IIS 上已存在的站点(或者新建一个站点)目录下新建一个 test.php文件,文件内容输入:<?php phpinfo(); ?>。然后在浏览器里访问这个文件地址。如果如下图,则说明 PHP 安装配置 OK。
安装 IIS URL Rewrite 模块
如果你想 WordPress 站点有漂亮的对用户和搜索引擎友好的 URL 链接格式,需要确保 IIS 安装了 URL Rewrite 模块,否则 会报 404 错误。
下载 IIS URL Rewrite 模块:
- IIS Url Rewrite 模块微软官方下载页面地址: https://www.iis.net/downloads/microsoft/url-rewrite。
- 支持的 IIS 版本:IIS 7, IIS 7.5, IIS 8, IIS 8.5, IIS 10。–目前最新版本的 IIS 是 10。
安装完成后,在 IIS 的 Features View(功能视图),可以看到一个 URL Rewrite:
IIS 上添加部署 WordPress 网站
下载 WordPress
- WordPress 英文官方网站:https://wordpress.org,下载页面:https://wordpress.org/download。
- WordPress China 简体中文网站:https://cn.wordpress.org,下载页面:https://cn.wordpress.org/txt-download。
添加 IIS 网站
1. 解压下载好的 WordPress 压缩包,如:D:\WebSites\demo.wordpress.com。
2. 在 WordPress 程序文件夹根目录,找到 wp-config-sample.php文件,并重命名为 wp-config.php。
3. 用文本编辑器打开 wp-config.php 文件,修改 MySQL 数据库连接信息(上述 MySQL 步骤创建好的空数据库):
- // ** MySQL settings – You can get this info from your web host ** //
- /** The name of the database for WordPress */
- /*数据库名称*/
- define(‘DB_NAME’, ‘wordpressdemo’);
- /** MySQL database username */
- /*登录用户名, 须有上述数据库操作访问权限*/
- define(‘DB_USER’, ‘demodbo’);
- /** MySQL database password */
- /*数据库用户登录密码*/
- define(‘DB_PASSWORD’, ‘demoPassword’);
- /** MySQL hostname */
- /** 数据库服务器名或者IP,如果 MySQL 端口不是默认的3306,则格式为 hostname:端口号, 如: localhost:3307 */
- define(‘DB_HOST’, ‘localhost’);
4. 和一般普通网站(ASP.NET/MVC或者其它类型)的添加方式一样,在IIS 上添加一个站点,指向 WordPress 程序文件所在目录。
5. 给这个这点添加一个默认文档 index.php。可以把 Default.htm、default.aspx、等其它默认页面文档都删除了,只保留 index.php。
6. 浏览器访问这个网站,会自动进行第一次初始化安装:
7. 安装完成后,登录进入 WordPress 管理后台:
设置漂亮友好的固定链接格式
一般网站采用的比较友好的链接格式,如:
- #1 包含分类目录、Url 别名:
- https://blog.codeusing.com/category/post-name/
- #2 只包含 Url 别名
- https://blog.codeusing.com/post-name
- #3 包含年、月、日、Url 别名:
- http://example.com/year/month/day/post-name
如果你也想要这种格式:
1. 安装了 IIS URL Rewrite 模块。
2. 在 WordPress 网站根目录 web.config(没有的话创建一个) 文件里添加了 URL 路由重写规则:
- <rewrite>
- <rules>
- <rule name=“Main 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/{R:0}” />
- </rule>
- <rule name=“WordPress: demo.wordpress.com” patternSyntax=”Wildcard”>
- <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>
3. 在 WordPress 固定链接设置界面进行配置:
4. 浏览测试前台页面:
结束,搞定!