网站是当今互联网内容中最常见的类型。但为了确保您的网站能够被尽可能广泛的受众所看到,您需要将您的网站托管在网络服务器上。如何做到呢?考虑使用Windows Internet Information Services(Windows IIS),这是一种流行的网络托管选择。
在本教程中,您将学习如何通过图形用户界面或命令行环境开始使用Windows IIS进行Web应用程序管理的基础知识!
继续阅读,并提升您在Windows IIS中管理Web应用程序的能力!
先决条件
本教程将进行实践演示。如果您想跟着做,请确保您已经:
- A Windows machine – This tutorial uses Windows Server 2012 since it’s stable and available at a low cost (or free). But you can also use Windows 10 for this tutorial.
- 在您的Windows机器上安装了Visual C++发行版。IIS需要Visual C++来正确渲染PHP页面。
在Windows服务器上安装Windows IIS
IIS Web服务器为在Windows操作系统上托管网站和服务提供了丰富的功能和可扩展性。但在使用IIS之前,您必须先在您的Windows机器上安装此工具。
要在Windows服务器上安装Windows IIS:
1. 按下Ctrl+R打开运行框,在其中键入ServerManager,然后按Enter。
这个操作会打开Server Manager仪表板。IT管理员使用此GUI仪表板来执行与服务器管理相关的各种日常任务。

在服务器管理器上,单击“添加角色和功能”链接以打开向导,您可以在本地服务器上添加角色服务和功能。

接下来,阅读“开始之前”页面上的信息,然后单击“下一步”。
您还可以选中“默认情况下跳过此页面”选项,这样下次添加角色和功能时将不会再看到此页面。

现在,在“安装类型”页面上,选择第一个选项(基于角色或功能的安装),然后单击“下一步”。
在大多数情况下,建议选择此选项,它会按标准方式引导您添加特定角色、角色服务和功能。
如果选择第二个选项(远程桌面服务安装),您需要手动选择要安装的必需角色、服务和功能。

从服务器池中选择您的服务器,然后单击“下一步”。
您还可以为分布式安装选择多个服务器,但这超出了本教程的范围。

接下来,在“服务器角色”页面上选中“Web 服务器(IIS)”复选框,以获得可伸缩的 Web 应用程序基础架构,然后单击“下一步”。

保持默认选中状态,然后单击“下一步”。这将告诉 Windows 安装所有需要的 IIS 服务器角色的子功能,包括 ASP.NET、静态内容和默认文档。

查看有关 Web 服务器角色(IIS)的更多信息,然后单击“下一步”。

在“角色服务”页面上,保持默认选择不变,但展开“应用程序开发”节点,选中“CGI”复选框,然后单击“下一步”。
这个选项安装了对通用网关接口(CGI)的支持,这是一种将外部应用程序与网络服务器进行接口连接的标准方法。

10. 在配置安装设置后,点击“安装”按钮以安装所选的角色和功能。

11. 安装完成后,如下所示,点击“关闭”以完成并退出向导。
就是这样!您已成功在服务器上安装了 Windows IIS。

12. 最后,打开您喜欢的网络浏览器,然后转到http://localhost/。
如果一切顺利,您将看到默认的 IIS 页面,如下图所示,这证实了您的网络服务器正在运行中。

安装 PHP 并配置 IIS 处理 PHP 请求
您已成功在服务器上安装了 Windows IIS,但仍然需要一种在服务器上部署页面的方法。对于本教程,您将安装 PHP 并配置 IIS 处理 PHP 请求。
要在服务器上安装 PHP:
1. 转到 PHP 发行版下载页面。在撰写本文时,最新的稳定版本是 PHP 8.1。
下载非线程安全(NTS)ZIP 包,因为 IIS 使用单个线程来处理每个请求。线程安全(TS)包用于 IIS FastCGI,它使 PHP 能够在多线程环境中运行。

2. 将下载的 PHP 压缩包解压缩到服务器上的 PHP 目录(C:\PHP\)。
解压存档后,您需要安装和配置IIS,以便管理和部署Web应用程序。

3. 打开服务器管理器,选择“仪表板” → “工具” → “Internet Information Services(IIS)管理器”。此操作将打开IIS管理器控制台,在其中您可以配置IIS设置,创建和管理网站,并部署Web应用程序。

4. 现在,选择您的本地主机(连接面板),并双击处理程序映射以访问可用的处理程序映射列表。

5. 在处理程序映射页面上,单击“添加模块映射”(右面板),这将打开“添加模块映射”对话框。

6. 接下来,使用以下方式配置新映射:
- 请求路径 – 输入*.php以告诉IIS将所有以.php结尾的请求转发到PHP处理器模块。通配符符号(*)让您节省时间,因为您不必为每个PHP文件添加处理程序映射。
- 模块 – 选择FastCgiModule以指定FastCGI模块应处理请求。
- 可执行文件 – 输入php-cgi.exe文件的完整路径。在本示例中,路径为C:\PHP\php-cgi.exe。
- 名称 – 提供一个唯一的模块映射名称,但本教程使用PHP_FastCGI。
- 单击“请求限制”以配置请求限制。

7.选中复选框,并选择“文件”或“文件夹”选项。此选项确保处理程序映射仅适用于服务器上的文件。

8. 导航到动词标签,并选择所有动词选项。此选项告诉 IIS 转发所有类型的 HTTP 请求,例如 GET、POST 和 HEAD,到 PHP 处理器模块。

9. 现在在访问标签上,选择脚本选项,然后单击确定。此选项告诉 IIS PHP 页面是要执行的脚本,而不是要直接提供的静态文件。

10. 返回到添加模块映射,单击确定以添加新的模块映射。

11. 最后,以管理员身份打开 PowerShell,并运行 IISRESET 命令以重新启动 Windows IIS。此操作对于新的处理程序映射生效是必要的。

部署您的第一个网站
现在您已经安装了 PHP 并配置了 IIS,最令人兴奋的部分来了——部署您的网站。但首先,您需要一个要部署的网站。在本示例中,您将创建并部署一个基本的 PHP 页面到您的 IIS 服务器。
1. 在您喜欢的文本编辑器中,在网站的根目录中创建一个新的 index.php 文件。在本示例中,网站的根目录是 C:\inetpub\wwwroot\ 。
.php扩展告诉IIS该index.php文件是要由PHP处理器模块处理的PHP页面。
2. 接下来,在新的index.php文件中添加以下代码,保存更改并关闭文件。
下面的代码告诉IIS在浏览器中显示一个简单的“Hello World”消息。
3. 最后,在您的Web浏览器中打开一个新标签,并导航到http://localhost/index.php 以从本地IIS服务器请求您的index.php页面。这样可以测试您的网站部署是否正常。
如果一切顺利,您将在index.php页面上看到“Hello world!”消息,如下所示。

通过命令行环境管理Windows IIS
喜欢使用CLI吗?没问题!除了GUI之外,IIS还可以通过命令提示符进行管理。使用此工具,您可以管理IIS的几乎所有方面,包括站点、应用程序、虚拟目录、应用程序池等。
在本教程中,您将了解一些管理IIS的基本命令。但要获取所有可用的AppCmd.exe命令的完整列表,请查阅官方Microsoft文档。
1. 以管理员身份打开命令提示符,并运行以下命令列出在您的 IIS 服务器上可用的所有网站。
您将看到当前在您的服务器上运行的所有网站的列表,以及有关每个网站的一些基本信息,如ID、状态等。
太泛了?没问题!您还可以使用 AppCmd.exe 在以下步骤中查询有关特定网站的信息,以便深入了解您感兴趣的信息。

2. 运行以下命令获取有关默认网站的所有信息。

3. 接下来,运行以下命令停止特定网站并列出所有已停止的网站(/state:Stopped)。
您可以将已停止的状态替换为其他网站状态,如启动、运行或未知。

4. 现在,运行以下命令,通过空格分隔多个条件,进一步筛选结果。
下面的命令列出了所有处于停止状态(/state:Stopped)且启用了服务器级自动启动(/serverAutoStart:true)的站点。
5. 最后,运行以下命令启动您在第三步中停止的网站(“默认网站”)。

结论
您已经了解了 Windows IIS 如何帮助您管理您的网站。在本教程中,您学会了在 Windows 服务器上安装和配置 IIS 以部署和测试基本的 PHP 网站。Windows IIS 是一款多功能工具,可以通过图形界面和命令行环境来管理您的网站。
以这些新获得的知识,您已经准备好在 IIS 上开始构建您的网站和应用程序了!为什么不学习如何在 IIS 上创建 WordPress 网站呢? 次要文本