您可以对 Compute Engine 上的虚拟机 (VM) 实例进行控制,就像控制任何标准 Windows 服务器一样。本教程介绍如何部署一个简单的 IIS 网络服务器,以便您了解在虚拟机上运行网络服务器的基础知识。
准备工作
您需要一个允许 HTTP 流量的新 Windows 实例。
- 按照快速入门说明进行操作,创建一个新的 Windows 实例,并通过 RDP 连接该实例。
安装 IIS
在 Windows 任务栏的搜索字段中输入
PowerShell
,然后按Enter
。如果任务栏上没有搜索字段,请点击搜索图标,再输入PowerShell
,然后按Enter
。如果搜索字段和搜索图标均未出现在任务栏上,请参阅 Hide and unhide your search box in Windows(在 Windows 中隐藏和取消隐藏搜索框)。在搜索结果的应用下方,右键点击 Windows PowerShell,然后选择以管理员身份运行。
使用以下命令安装 IIS 服务:
import-module servermanager
add-windowsfeature web-server -includeallsubfeature
使用以下命令覆盖 IIS Web 服务器默认网页:
echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' > C:\inetpub\wwwroot\index.html
测试服务器
测试您的实例是否正在处理其外部 IP 地址上的流量:
在 Google Cloud 控制台中,转到虚拟机实例页面。
查看
Hello World!
页面,方法是复制外部 IP 列中的 IP 地址并将其粘贴到新的浏览器标签页中。如果您没有看到Hello World!
页面,请按照问题排查步骤中的说明进行操作。
清理
完成实验后,请按照快速入门中的清理说明进行操作,以避免此实例产生费用。
问题排查
收到 Connection Refused
错误
如果您看到 Connection Refused
错误,则可能是因为:
您的虚拟机实例无法公开访问,因为您的防火墙规则或标记存在以下某个配置错误:
- 虚拟机实例没有适当的标记允许 Compute Engine 将相应的防火墙规则应用于您的实例。
- 您的项目没有创建允许流量流向您实例的外部 IP 地址的防火墙规则。
您正尝试使用
https
地址访问虚拟机。请检查确保您的网址格式是http://[EXTERNAL_IP]
,而不是https://[EXTERNAL_IP]
。
要确保您的虚拟机实例拥有正确的标记,请执行以下操作:
- 在 Google Cloud 控制台中,打开虚拟机实例页面。
- 点击您正在尝试连接的实例的名称。
- 点击页面顶部的修改。
- 向下滚动到防火墙,并确保选中允许 HTTP 流量复选框。如果该复选框未被选中,请将其选中。
- 保存更改。这样可确保向虚拟机实例中添加正确的标记。
要确保存在正确的防火墙规则,请执行以下操作:
- 在 Google Cloud Console 中,转到防火墙规则页面。
- 查找一条允许所有 IP 地址范围通过 tcp:80 的防火墙规则。通常,此规则命名为
default-allow-http
规则。 - 如果规则不存在,请按以下步骤创建规则。
- 点击创建防火墙规则。
- 输入规则的名称,例如
default-allow-http
。 - 在来源 IP 地址范围下方,输入
0.0.0.0/0
以允许来自所有来源的流量。 - 在协议和端口下方,选中指定的协议和端口,并输入
tcp:80
。 - 创建防火墙规则。
转到实例的外部 IP 地址,再次测试服务器:
http://[EXTERNAL_IP]