跳至主要内容

使用 Amazon Lightsail 快速部署和运行 Python 应用程序

概述

Tag:Amazon Lightsail

难度:初级

时间:30 分钟

费用:免费套餐

受众:初学者,开发人员

前提条件:海外区域账户,账户类型为付费计划

示例代码:低代码

上次更新时间:2025 年 12 月 18 日

相关行业:通用

相关产品:Amazon LightsailEC2

教程简介

本教程将指导您使用 Amazon Lighsail 快速搭建一个基于 Flask 服务框架的 Python 应用程序。

第一步 注册账户和创建IAM用户

全部打开

首先,您需要登录亚马逊云科技官网:aws.amazon.com注册一个新用户,作为您的根账户。账户注册过程请参见相关官方教程。

创建账户后,以根账户身份登录管理控制台。
 

 

在控制台搜素栏中,搜索关键字”iam”,用来访问 IAM 服务。

 

进入到管理控制台,在左侧导航栏选择“用户”。

 

点击“创建用户”。
 

 

点击“下一步”完成创建用户。

第二步 创建和连接 Lightsail 实例

全部打开

在管理控制台页面搜索服务”Lightsail”.

 

进入到 Lightsail 控制台。

 

点击页面中央“Create instance”(创建实例)。

 

控制台页面显示“访问Lightsail可能出现了问题“。

页面中提示两种可能性:

  1. AWS账户尚未完成注册。如需检查是否完成注册 ,可点击“Confirm your AWS registration”(确认您的AWS注册)以完成账户注册。
  2. 免费计划须升级。Lightsail服务仅包含在付费计划中,并包含90天免费试用,点击”Upgrade Plan”(升级计划)。付费计划同免费计划一样仍可享受免费套餐。

点击“升级套餐”按钮。

AWS账户完成套餐升级,点击“继续”。

*注意:由于升级到付费套餐计划,因此,返回控制台主页面时,建议打开Cost Explorer(成本资源浏览器)。

打开Cost Explorer控制台。

创建预算,选择默认预算设置 – 使用模版(简化),按照默认“零支出预算”,输入预算名称,电子邮件收件人(多个邮件地址用逗号隔开)后,点击“创建预算”。

显示“您的预算已成功创建。”等信息。

此时,重新打开 Lightsail 控制台,点击“Create instance”(创建实例)。

创建实例后,须选择实例镜像。

选择平台按照默认的 Linux/Unix,在 Select a blueprint 部分,点击”Operating System (OS) only“(仅操作系统)。

滚动到页面下方,在 Choose your instance plan (选择您的实例计划)列表,按照包月(Price per month)选择 $5 套餐。

 

点击页面右下角“Create instance”(创建实例)按钮。

 

创建完毕后,在实例列表里出现了刚刚命名过的新实例。
 

 

在前面步骤中,点击“Connect using SSH”(用 SSH 连接)。

通过 SSH 连接,在控制台页面打开运行的是 Amazon Linux 2023 终端窗口。

第三步 安装 Python 运行环境

全部打开

由于配置了Amazon Linux 2023,因此,在连接打开的SSH终端中,须执行以下命令,从源代码安装Python最新版 3.14:

$ sudo yum -y update
 

 

这样,软件更新完毕!

执行以下命令,以安装 dependencies (依赖项):

sudo yum -y groupinstall "Development Tools"

再执行以下命令:

sudo yum -y install openssl-devel bzip2-devel libffi-devel
 

 

执行以下命令:

$ sudo yum -y install wget

 

$ wget https://www.python.org/ftp/python/3.14.2/Python-3.14.2.tgz
 

 

$ tar xvf Python-3.14.2.tgz
 

 

$ cd Python-3.14.2/

$ ./configure --enable-optimizations

$ sudo make altinstall
 

 

执行以下命令,验证 Python 3.14 完成安装:

$ python3.14 –version

 

终端显示 Python 版本为 3.14.2。

为了让最新版本成为开机后 Python3 的默认版本,执行以下命令:

$ echo 'alias python3="/usr/local/bin/python3.14"' >> ~/.bashrc

$ echo 'alias python="/usr/local/bin/python3.14"' >> ~/.bashrc

$ source ~/.bashrc

 

执行以下命令,安装 Flask:

$ python3 -m pip install flask

 

终端显示 Flask 安装成功!

第四步 构建 Python Web 应用程序

全部打开

准备好 Python 应用程序代码(Flask 驱动的 Web 应用程序);并在 SSH 终端中,执行文本编辑命令:

$ nano app.py

修改 Web 应用代码,优化如下:
 

 

保存并退出 NANO 编辑器。

第五步 配置 Lightsail 防火墙规则

全部打开

返回 Amazon Lightsail 控制台,打开创建的实例。

 

选择页面下方选项卡“Networking”。

 

在防火墙中添加规则。

 

在 IPV4 Firewall 部分,点击”Add rule”(增加规则),选择 Application 下拉菜单“Custom”,Protocol 为“TCP”,Port or range(端口或范围)为”5000”,点击“Create”完成规则创建。
 

 

第六步 验证 Flask 应用程序

全部打开

在 Amazon_Linux_2023_instance 创建的实例中,显示有 Public IPv4 address (即通常所说的IP地址),加上配置的防火墙规则(包括 TCP 协议和端口号 5000)。

 

因此,打开 Chrome 浏览器,在地址栏输入IP地址加端口并访问 Web 页面。
 

 

可以看到,访问公网 IP 地址时,显示页面内容“Hello! This is from Amazon Lightsail Python Application!” ,说明使用 Lightsail 实例成功构建了基于 Python 的 Web 应用程序!

第七步 Amazon Lightsail 和 EC2 横向对比

全部打开

Amazon Lightsail 作为轻量级实例应用,与经典的 EC2(Elastic Compute Cloud,弹性计算云)有很多异同点,以下做个简要比较分析。

两者最终均需输出一个应用示例,即在 Web 页面返回一行文本(仅举例):

Hello from Flask Application!

对比维度

Amazon Lightsail

Amazon EC2

控制台入口

独立 Lightsail 控制台

EC2 通用控制台

创建实例

选择 Blueprint + 套餐

选择 AMI + 实例类型

网络配置

自动完成

需理解 VPC / 子网

防火墙

图形化端口规则

Security Group 规则

公网 IP

自动分配

自动或弹性 IP

SSH 登录

浏览器内置

本地 SSH + Key

必需 AWS 知识

极少

较多

新手成功率

很高

中等

步骤类别

Lightsail

EC2

创建实例

1 步

5–6 步

配置网络

无需理解

必须配置

打开端口 5000

Firewall(1 步)

Security Group(多项)

登录实例

点按钮

配 Key

安装 Python/Flask

相同

相同

编写 app.py

相同

相同

应用监听配置

0.0.0.0

0.0.0.0

验证公网访问

Public IP

Public IP

总步骤数(约)

~11 步

20–25 步

项目

Lightsail

EC2

说明

Flask 代码

相同

相同

完全一致

Python 版本

相同

相同

Ubuntu 官方源

端口监听

必须 0.0.0.0

必须 0.0.0.0

公网访问前提

Linux 命令

相同

相同

apt / pip

TCP 行为

相同

相同

网络原理一致

结论:
Lightsail 并没有“简化 Linux 或 Python”,而是简化了AWS 基础设施管理层

对比项

Lightsail

EC2

防火墙层级

实例级

实例级

配置方式

Firewall UI

Security Group

默认策略

拒绝除 SSH 外

拒绝除 SSH 外

打开端口

输入端口即可

定义规则对象

误配置概率

排障复杂度

中–高

项目

Lightsail

EC2

计费方式

固定月费

按资源

流量

包含额度

单独计费

存储

含 SSD

EBS 分离

账单可预测性

非常高

教学成本控制

极佳

需解释

第八步 总结

全部打开

本教程利用 Lightsail 进行高效部署和运行 Python 应用程序,实现了轻量级 Lightsail 快捷部署应用程序的详细步骤,对比 Lightsail 和 EC2,二者在运行“同一个 Flask 应用”的前提下有以下差别:

  • Lightsail 让学习者专注应用本身
  • EC2 要求学习者同时理解云基础设施