运行基本的 Apache 网络服务器

您可以控制 Google Compute Engine 上的虚拟机实例,就像控制所有标准的 Linux 服务器一样。请部署一个简单的 Apache 网络服务器,了解在虚拟机实例上运行服务器的基础知识。

前提条件

创建一个允许 HTTP 流量的 Linux 实例。

  • 按照快速入门说明进行操作,创建一个新的 Linux 实例并连接该实例。
  • 创建 Linux 实例时,滚动到防火墙部分并选中允许 HTTP 流量复选框。选中此复选框会启用外部 IP 地址。

安装 Apache

  1. 使用 Debian 软件包管理器来安装 apache2 软件包。

    sudo apt-get update && sudo apt-get install apache2 -y
    
  2. 使用以下命令覆盖 Apache 网络服务器默认网页:

    echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' | sudo tee /var/www/html/index.html
    

测试服务器

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

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

    转到“虚拟机实例”页面

  2. 外部 IP 列下方,复制您的实例的外部 IP。
  3. 在浏览器中,导航到 http://[EXTERNAL_IP]

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

清理

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

问题排查

收到 Connection Refused 错误

如果您看到 Connection Refused 错误,可能的原因如下:

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

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

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

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

    转到“虚拟机实例”页面

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

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

  1. 转到 Google Cloud Platform 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]

后续步骤

了解如何在 Google Compute Engine 上托管网站

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Compute Engine 文档