【问题标题】:How to Deploy Flask app on AWS EC2 Linux/UNIX instance如何在 AWS EC2 Linux/UNIX 实例上部署 Flask 应用程序
【发布时间】:2020-07-04 16:21:50
【问题描述】:

如何在 AWS Linux/UNIX EC2 实例上部署 Flask 应用程序。

无论是哪种方式 1> 使用 Gunicorn 2> 使用Apache服务器

【问题讨论】:

    标签: python amazon-web-services unix nginx flask


    【解决方案1】:

    绝对有可能,但这不是最快的过程!您可能还想在部署之前使用 Docker 将您的烧瓶应用程序容器化,因此可以归结为以下步骤:

    1. 安装 Docker(如果您没有)并为您的应用程序构建映像,并确保您可以在本地启动容器并且应用程序按预期工作。您还需要编写一个 Dockerfile 来设置您的运行时、复制所有目录并公开端口 80(这对于 AWS 稍后会很方便)。

    构建镜像的命令是docker build -t your-app-name .

    1. 准备好部署容器后,前往 AWS 并使用 Linux 2 机器启动 EC2 实例。您需要创建一个安全密钥(.pem 文件)并将其移动到您计算机上的某个位置。这就像您登录实例的凭据。根据您使用的操作系统,情况会有所不同。在 Mac 上,您需要 cd 进入密钥所在的目录并通过运行 chmod 400 key-file-name.pem 修改其权限。在 Windows 上,您必须进入安全设置并确保只有您的帐户(最好是计算机的所有者)可以使用此文件,基本上将其设置为私有。此时,您可以使用 AWS 在您单击 EC2 仪表板上的连接到实例时为您提供的命令从命令提示符连接到您的实例。

    2. 登录后,您可以配置您的实例以安装 docker 并让您通过运行以下命令来使用它:

    sudo amazon-linux-extras install docker
    sudo yum install docker
    sudo service docker start
    sudo usermod -a -G docker ec2-user
    

    太好了,现在您需要使用 SCP(安全传输协议)将所有文件从本地目录复制到您的实例。很长的路是对每个文件使用这个命令:scp -i /path/my-key-pair.pem file-to-copy ec2-user@public-dns-name:/home/ec2-user。另一种方法是安装 FileZilla 或 WinSCP 以加快此过程。

    1. 现在您的所有文件都在实例中,使用第一步中的相同命令构建 docker 容器并激活它。如果您访问 AWS 为您提供的 URL,您的应用程序应该在 AWS 上运行!

    这是我第一次做这个时使用的reference,它可能对你也有帮助

    【讨论】:

    • 有没有办法使用像 Nginx 和 Apache 这样的生产服务器?
    • 快速谷歌搜索告诉我这是可能的!试一试,然后返回一个具体问题
    猜你喜欢
    • 2017-06-12
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    • 1970-01-01
    • 2020-05-08
    • 2016-05-24
    • 2023-03-18
    • 1970-01-01
    相关资源
    最近更新 更多