在IIS中部署WordPress

在IIS中部署Wordpress

1.准备工作

1.Windows系统
2.PHP程序
下载网址:
https://windows.php.net/download/
或者
https://windows.php.net/downloads/releases/php-8.2.11-nts-Win32-vs16-x64.zip

Alt text

2.配置PHP

解压下载的PHP压缩包,找到php.ini-development文件,复制一份,重命名为php.ini。
修改该php.ini配置文件。


;放置PHP扩展的目录,去掉下面前面的注释,启用扩展功能
extension_dir = "ext"

;启用扩展。不需要一个一个的找,这一块的扩展全部启用都可以。
extension=bz2
extension=ldap
extension=curl
extension=ffi
extension=ftp
extension=fileinfo
extension=gd
extension=gettext
extension=gmp
extension=intl
extension=imap
extension=mbstring
extension=exif      ; Must be after mbstring as it depends on it
extension=mysqli
extension=odbc
extension=openssl
extension=pdo_firebird
extension=pdo_mysql
extension=pdo_oci
extension=pdo_odbc
extension=pdo_pgsql
extension=pdo_sqlite
extension=pgsql
extension=shmop
extension=soap
extension=sockets
extension=sqlite3
extension=tidy
extension=xsl
extension=zip

;启用并修改session文件的存储目录。
session.save_path = "C:\tmp"

;修改PHP上传最大限制
post_max_size = 200M
upload_max_filesize = 200M

修改完保存一下。设置一下C:\tmp的文件夹权限。添加IIS_IUSRS用户,设置所有权限。
Alt text

3.安装IIS

安装IIS

打开Windows 11 的应用界面->可选功能->更多Windows功能。进入启用或关闭Windows功能界面。
展开Internet Information Services,勾选Web管理工具中的IIS管理控制台和万维网服务中的CGI、ASP.NET,还有常见HTTP功能中的静态内容、默认文档、目录浏览,然后点击确定。
如果不勾选ASP.NET,IIS管理器里面没有默认文档设置。
如果不勾选静态内容,IIS管理器里面没有MIME类型设置。

Alt text

稍等片刻,安装完后。打开IIS管理器。在Windows 11开始菜单上搜索IIS,打开即可。最好把IIS管理器固定在开始菜单,方便下次使用。

Alt text

配置PHP

打开IIS管理器,找到处理程序映射。

Alt text

打开处理程序映射界面,点击有右边的添加模块映射。添加PHP相关信息,然后点击确定。如下。

Alt text

如果提示:要为此可执行文件创建FastCGI应用程序吗?点击“是”将此项添加到FastCGI集合中,以及允许此可执行文件作为FastCGI应用程序运行。
点击是即可。

添加默认文档

默认文档即index.html、index.htm、default.htm。这里我们要使用PHP,就要把idnex.php设置为默认文档。
找到默认文档设置。
Alt text

添加index.php为默认文档。

Alt text

添加MIME类型

这里的操作主要是一些文件如CSS、JS、ISO等在IIS中默认不下载。会提示错误。
Alt text
添加文件扩展名为星号(*),MIME类型为application/octet-stream。表示所有文件皆可下载。
Alt text

4.安装Wordpress

注:Wordpress需要数据库支持,默认链接数据库是MySQL或MariaDB。这里使用的是SQLite,具体使用SQLite操作方法请查阅上一篇。

将下载下来的Wordpress压缩包放在网站目录里。可以放在默认网站C:\inetpub\wwwroot,也可以新建的网站目录里面。

在浏览器中打开http://localhost/wordpress,可以即可安装Wordpress。

注意:
还需要给网站目录设置IIS_IUSRS权限,否则Wordpress无法安装插件。

Alt text

5.Wordpress伪静态

到微软网站下载URL重写模块(URL Rewrite)。
https://www.iis.net/downloads/microsoft/url-rewrite

Alt text

安装完成后。
将以下内容保存为web.config文件,放在wordpress跟目录中。
如果网站根目录就是Wordpress的根目录,那就放置再网站根目录。
一定要先安装然后再存放web.config文件。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
                <rule name="category">
                    <match url="category/?(.*)" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                    <action type="Rewrite" url="/index.php?category_name={R:1}" appendQueryString="false" logRewrittenUrl="false" />
                </rule>
                <rule name="tags">
                    <match url="tag/?(.*)" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                    <action type="Rewrite" url="index.php?tag={R:1}" />
                </rule>
                <rule name="Main Rule" stopProcessing="true">
                    <match url=".*" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                        <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" patternSyntax="Wildcard">
                    <match url="*" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                        <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>
  </system.webServer>
</configuration>

完成后,就可以设置Wordpress的伪静态链接了。

Alt text

结束,愉快的玩耍吧。

发表评论