网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

在 Microsoft Azure 的 IAAS 平台上托管Web应用程序

更新时间:2026年03月27日   作者:spoto   标签(Tag):

Azure提供了许多服务,可以用来托管无论是静态还是动态的应用程序。这些服务有多种形式。 在本文中,我们将在 Microsoft Azure 上搭建一个简单的静态 Web 应用。该应用采用“基础设施即服务”模式进行部署。我们使用的是一款免费且开源的跨平台 Web 服务器软件——Apache HTTP Server,该软件被安装在虚拟机器上。 静态网页应用程序可以是一种简单的HTML、CSS或JavaScript构成的网站,这种网站不需要任何动态性的修改,也就是不需要在服务器端进行任何处理。 首先,我们需要一个能够在互联网上托管我们的Web应用程序的Web服务器。 为此,我们将部署一台可以访问互联网的虚拟机(该虚拟机拥有公共IP地址),同时还将开放端口22(用于SSH通信)和端口80(用于HTTP通信)。 我们将在虚拟机上安装并使用Apache HTTP服务器及其应用服务,从而让这台虚拟机能够作为运行中的Web服务器使用。 在成功部署并配置好Web服务器之后,我们将把静态Web应用程序部署到能够承载该应用程序的服务器上。这样,该应用程序就可以在互联网上正常运行了。

先决条件/前提条件

  • 如果您还没有Azure订阅,那么在开始使用之前,请先创建一个免费账户。
  • 这是一个静态的Web应用程序源代码。如果你没有任何代码,或者不想自己开发这样的应用程序,那么你可以利用这个示例项目来帮助你实现自己的需求。
  • 这是用于SSH认证的PuTTY软件。可以从这里下载该软件。

请按照以下步骤操作,登录Azure门户后,即可成功实现上述目标。

创建一个资源组

资源组是Azure中的一个分组,它包含了所有被作为单个组或单个Azure解决方案来管理的资源。最佳实践是将具有相同生命周期的资源添加到同一个资源组中。

  • 在左侧面板中,选择“资源组”选项。
在左侧面板中选择“资源组”。
  • 点击“添加”按钮。
添加/创建一个新的资源组。
  • 请选择您想要的订阅方式。
  • 为您的资源组起一个名字吧。
  • 请提供一个地区名称。
    • 所选区域将存储该资源组内所部署的所有资源的元数据。
请填写该资源组所需的基本信息。
  • 您可以通过为资源组提供标签来为其命名,这些标签的格式为“名称”和“值”。
  • 它可以是任何东西。
  • 这是可选的。
为您的资源组添加标签(可选)。
  • 最后,请选择“审核+创建”选项。
  • Azure会验证您为创建资源组而提供的所有详细信息。
  • 如果验证通过,那么就可以通过“创建”按钮来创建该资源组了。
请回顾并创建您的资源组。

创建一台虚拟机

  • 在左侧面板中,选择“虚拟机”。
在左侧面板中选择“虚拟机”。
  • 选择“添加”按钮,然后选择“虚拟机”。
添加/创建一台新的虚拟机。

配置虚拟机的各项基础设置

  1. 请提供该虚拟机将所在的资源组的名称,或者创建一个新的资源组。
    • 在这里,我们将提供一个名为rg-WebApp的现有资源组。该资源组是我们之前创建好的。
  2. 为您的虚拟机起一个名字吧。
    • 在这里,我们选用了“MyUbuntu-VM”这个名称,因为我们将会使用一台Ubuntu虚拟机来进行操作。
    • 如果您不想使用 Ubuntu 虚拟机,可以选择自定义虚拟机的镜像。具体操作方法是:在“镜像”选项中选择“浏览所有公共和私有镜像”(参见第5点)。
    • 注意:在这个实验项目中,由于我们需要使用SSH认证来连接虚拟机,因此需要一个Linux虚拟机器。
    • 如果您选择使用Windows镜像,那么就需要进行RDP认证。
  3. 请提供您希望将虚拟机部署到的区域。
    • 在这里,我们介绍的是印度中部地区。
    • 建议选择一个离你较近的地域,这样能够降低延迟。
  4. 暂时不需要设置“可用性选项”。也就是说,目前不需要为基础设施配置任何冗余措施。
  5. 请提供要使用的虚拟机的图片。
    • 在这里,我们提供的是Ubuntu服务器版本18.04 LTS——Gen1。
  6. 您可以通过选择不同的CPU、RAM、数据磁盘、IOPS等参数来指定虚拟机的不同配置。相应的,费用也会根据所选的配置而有所不同。
  7. 请选择SSH公钥作为认证方式。
  8. 请为虚拟机提供管理员用户名。
  9. 在“SSH公钥来源”字段中,从下拉菜单中选择“使用现有的公钥”选项。
  10. 使用 PuTTYgen 软件来生成一对公钥和私钥,这是一种非对称加密方式。
    • 如果你想知道如何使用 PuTTygen 来生成密钥的话,可以参考以下步骤。
  11. 请将生成的公共密钥粘贴到“SSH公共密钥”字段中,然后将私钥保存到您的本地计算机上。
    • 我们将私钥保存为PK-1.ppk格式。
  12. 您可以通过启用“允许选定的端口”选项,来选择并允许某些端口在互联网上被公开。
  13. 我们允许使用端口22来进行SSH认证,同时允许使用端口80来访问我们的Web应用程序。
请填写虚拟机所需的基本信息。(1)填写虚拟机所需的基本信息。

配置虚拟机的磁盘设置。

  1. 由于我们不需要使用具有较高IOPS的工作负载,因此请从操作系统磁盘类型的下拉菜单中选择“Standard HDD”。.
  2. 请将加密类型保持为默认设置。
    • 在这种情况下,磁盘的加密工作将由微软来负责处理。
  3. 由于我们不会处理任何需要大量数据的任务,因此请将“启用Ultra磁盘兼容性”选项设置为“否”。
  4. 如果您想为虚拟机添加额外的磁盘,可以在“数据磁盘”选项中选择“创建并附加新磁盘”选项来实现。由于我们不需要额外的磁盘,因此可以保持该选项为空。
请填写虚拟机所需的磁盘的详细信息。

配置虚拟机的网络设置。

虚拟机需要一个可以承载、运行和进行通信的网络环境。

你可以为这个目的创建一个Azure虚拟网络。这个虚拟网络实际上就是你在云中的网络的虚拟化表示形式。

  1. 通过点击“创建新的虚拟网络”选项来创建一个新的虚拟网络。
  2. 为您的虚拟网络起个名字吧。
  3. 为您的虚拟网络提供地址空间。
    • 在这里,我们将地址空间设定为192.168.0.0/16。
  4. 在您的虚拟网络内,提供子网络。
    • 我们提供了两个子网,分别命名为Subnet-1和Subnet-2。这两个子网的地址范围分别为192.168.10.0/24和192.168.50.0/24。
  5. 你可以决定你的虚拟机将位于哪个子网中。
    • 我们选择了Subnet-1。
  6. 你可以决定是否为你的虚拟机提供一个公共IP地址。
    • 由于我们将通过 HTTP 来访问我们的 Web 应用程序,因此我们会为该虚拟机分配一个公共 IP 地址,并为其指定默认名称。
  7. 请保持NIC的NSG处于基本状态。
  8. 我们需要允许某些端口保持开放状态。
  9. 我们选择端口号80(用于HTTP通信)和22(用于SSH通信)来进行开放处理。
  10. 请关闭“加速网络”功能。
    • 就我们的情况而言,虚拟机的容量不支持这个选项。
  11. 目前,我们还没有负载均衡器,而且也没有计划去安装它。所以,暂时还是保持“无”的状态吧。
配置虚拟机所需的网络相关设置。 (1)配置虚拟机所需的网络设置。 (2)

配置虚拟机的管理功能

  1. 该功能可用于诊断与镜像启动相关的故障。可以通过选择“与托管存储账户一起启用”来启用此功能。
  2. OS宾客机诊断功能会每分钟生成一些用于监控的指标。不过目前我们并不需要这些指标。
  3. 请关闭“身份识别”选项。
  4. Azure Active Directory是微软Azure提供的一种目录服务,用于管理对网络和资源的使用权限。请不要启用此选项。
  5. 如果您不希望虚拟机在特定的日期和时间自动关闭,那么请关闭“自动关机”选项。
  6. 请关闭“保留备份”选项。
请配置虚拟机所需的监控和管理相关设置。 (1)请配置虚拟机所需的监控和管理相关细节。 (2)
  • 如果您愿意的话,还可以为您的虚拟机添加标签。
  • 最后,请选择“审核+创建”选项。
  • 如果验证通过,请选择“创建”选项。几分钟或几秒钟后,您的虚拟机就会成功部署完成。
  • 选择“前往资源”选项。
虚拟机部署概述。

向虚拟机进行身份验证

  • 在资源的“概述”部分中,可以看到私有IP地址为192.168.10.4。这表明,正如我们所指定的那样,该虚拟机确实位于第1个子网中。
  • 请复制该虚拟机的公共IP地址。
从“概述”部分中复制虚拟机的公共IP地址。
  • 打开 PuTTy 软件。
  • 在“主机名称(或IP地址)”字段中粘贴虚拟机的公共IP地址,并指定端口号22用于SSH认证。
  • 在 PuTTy 的左侧面板中,找到 “SSH ⇢ Auth” 选项。
在 PuTTy 中,将虚拟机的公共 IP 地址粘贴进去。
  • 请浏览并选择我们保存为PK-1.ppk的私钥,将其添加到认证字段中的“Private key file”中。
  • 点击“打开”按钮。
请在 PuTTy 中输入私钥。
  • PuTTy会为你提供一个用于与虚拟机进行交互的命令行界面。
  • 如果收到 PuTTY 的安全警告,请在该选项中选择“Yes”。
  • 请提供管理员用户名,然后按回车键。
  • 您将会进入虚拟机的登录界面。
虚拟机认证成功。

托管静态Web应用程序

1.请使用相应的命令来安装 Apache HTTP 服务器。

sudo apt-get install apache2

2.使用以下命令来运行Apache服务:

sudo service apache2 start

3.请复制虚拟机的公共IP地址,然后通过互联网访问该地址,在地址后面加上端口号80,格式为:as.

<VM's public IP address>:80
  • 你必须能够看到,该网络服务器正在运行,而且默认的网页也托管在互联网上。
  • 如果您愿意的话,您可以修改位于路径 /var/www/html/index.html 这个网页的内容,然后重新加载该网页以查看所进行的更改。
网络服务器正在运行,默认网页也成功被托管起来了。

4.现在,使用该命令进入 /var/www/ 路径。

cd /var/www/

5.使用以下命令删除 html 目录:

sudo rm -rf html

6.使用相应的命令,从 GitHub 或其他版本控制平台中克隆你的 Web 应用程序源代码。

sudo git clone https://github.com/CODESofRishi/HAA-WebApp2

7.使用以下命令,将从GitHub克隆下来的目录改名为“html”。

sudo mv HAA-WebApp2/ html

8.请重新加载该网页。

我们的静态网页应用程序已经成功托管起来了。

恭喜!您的静态网页应用程序现在已托管在互联网上。

在结束之前

  • 只要虚拟机仍在运行,就会继续向您收取相关费用。
  • 因此,在完成项目后,请不要忘记删除该资源组。
  • 在Azure门户的左侧面板中,选择“资源组”选项。
  • 请选择您的资源组。
  • 请选择“删除资源组”选项。
请删除该资源组。
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料