站点图标 程序员碎记

Windows Server IIS上安装部署WordPress网站傻瓜教程

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 网站主机

环境

MySQL 数据库

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

下载 MySQL for Windows 安装文件

安装 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

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. 浏览测试前台页面:

结束,搞定!基本安装就是这个样子的,后续使用过程中肯定还会有一大堆新的问题的。

退出移动版