运行基本的 IIS Web 服务器

您可以对 Google Compute Engine 上的虚拟机实例进行控制,就像控制标准 Windows 服务器一样。让我们部署一个简单的 IIS Web 服务器,了解在虚拟机实例上运行服务器的基本知识。

前提条件

您需要一个允许 HTTP 流量的新 Windows 实例。

  • 按照快速入门说明进行操作,创建一个新的 Windows 实例,并通过 RDP 连接该实例。

安装 IIS

  1. 右键点击 Windows PowerShell 图标,然后选择以管理员身份运行,以打开 PowerShell 终端。Windows 服务器桌面上的 Windows PowerShell 图标的屏幕截图。右键点击菜单打开,以供您选择“以管理员身份运行”选项。
  2. 使用以下命令安装 IIS 服务:
    import-module servermanager
    add-windowsfeature web-server -includeallsubfeature
  3. 使用以下命令替换 IIS Web 服务器默认网页:
    echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' > C:\inetpub\wwwroot\index.html

测试服务器

测试您的实例是否正在处理其外部 IP 上的流量。

  1. 转到 Google Cloud Console 中的“虚拟机实例”页面。

    转到“虚拟机实例”页面

  2. 外部 IP 列下,点击您的实例的外部 IP。

您现在应该会看到“Hello World!”页面。

清理

完成实验后,请按照快速入门中的清理说明进行操作,以避免此实例产生费用。

问题排查

收到 Connection Refused 错误

如果您看到 Connection Refused 错误,则可能是因为:

  • 您的虚拟机实例无法公开访问,因为您的防火墙规则或标记存在以下某个配置错误:

    • 虚拟机实例没有适当的标记允许 Compute Engine 将相应的防火墙规则应用于您的实例。
    • 您的项目没有创建允许流量流向您实例的外部 IP 地址的防火墙规则。
  • 您正尝试使用 https 地址访问虚拟机。请检查确保您的网址格式是 http://[EXTERNAL_IP],而不是 https://[EXTERNAL_IP]

为了确保您的虚拟机实例拥有正确的标记,请执行以下操作:

  1. 转到 Google Cloud Console 中的“虚拟机实例”页面。

    转到“虚拟机实例”页面

  2. 点击您正在尝试连接的实例的名称。
  3. 点击页面顶部的修改
  4. 向下滚动到防火墙,并确保选中允许 HTTP 流量复选框。如果该复选框未被选中,请将其选中。
  5. 保存更改。这样可确保向虚拟机实例中添加正确的标记。

若要确保存在正确的防火墙规则,请执行以下操作:

  1. 转到 Google Cloud Console 中的“防火墙规则”页面。

    转到“防火墙规则”页面

  2. 查找一条允许所有 IP 地址范围通过 tcp:80 的防火墙规则。通常,此规则命名为 default-allow-http 规则。
  3. 如果规则不存在,请按以下步骤创建规则。
    1. 点击创建防火墙规则
    2. 输入规则的名称,例如 default-allow-http
    3. 来源 IP 地址范围下方,输入 0.0.0.0/0 以允许来自所有来源的流量。
    4. 协议和端口下方,选中指定的协议和端口,并输入 tcp:80
    5. 创建防火墙规则。

转到实例的外部 IP 地址,再次测试服务器:

http://[EXTERNAL_IP]