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++ 可再发行组件各版本下载链接:
安装 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 的 Features View(功能视图),可以看到一个 URL Rewrite:
IIS 上添加部署 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 步骤创建好的空数据库):
-
// ** 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. 浏览测试前台页面:
结束,搞定!基本安装就是这个样子的,后续使用过程中肯定还会有一大堆新的问题的。