📜  在 ec2 实例上安装 flask apache - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:50:54.699000             🧑  作者: Mango

在 EC2 实例上安装 Flask Apache - Shell/Bash

如果你想在 Amazon EC2 实例上安装 Flask 的应用程序,并希望使用 Apache 作为 Web 服务器,请按照以下步骤操作。

步骤 1:安装 Apache 和 mod_wsgi

使用以下命令安装 Apache 和 mod_wsgi:

sudo yum update
sudo yum install httpd mod_wsgi
步骤 2:安装 Flask 和其它必需软件包

接下来,安装 Flask 和其它必需软件包(例如 setuptools 和 Flask-WTF):

sudo yum install python3-pip
sudo pip3 install Flask Flask-WTF
步骤 3:编写 Flask 应用程序

在这一步中,你需要编写一个 Flask 应用程序。以下是一个简单的“Hello World” Flask 应用程序示例:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return "Hello World!"

if __name__ == '__main__':
    app.run()

将这个代码保存到一个名为 myapp.py 的文件中。

步骤 4:配置 Apache

现在,需要配置 Apache 以运行 Flask 应用程序。为此,创建一个新的 Apache 配置文件,例如 myapp.conf,并将以下代码添加到其中(请确保将 <your_app_directory> 替换为应用程序所在的目录):

<VirtualHost *:80>
  ServerName example.com
  
  WSGIDaemonProcess myapp user=ec2-user group=ec2-user threads=5
  WSGIScriptAlias / /<your_app_directory>/myapp.wsgi

  <Directory <your_app_directory>>
    WSGIProcessGroup myapp
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
  </Directory>
</VirtualHost>

然后,将 myapp.conf 移动到 /etc/httpd/conf.d 目录中:

sudo mv myapp.conf /etc/httpd/conf.d/
步骤 5:创建 WSGI 文件

创建一个 WSGI 文件以告诉 Apache 如何运行 Flask 应用程序。在应用程序目录中创建一个名为 myapp.wsgi 的文件,并将以下内容添加到其中(请确保将 <your_app_directory> 替换为应用程序所在的目录):

import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0, '/<your_app_directory>/')

from myapp import app as application
application.secret_key = 'your_secret_key'
步骤 6:重启 Apache

最后,重启 Apache 以使以上更改生效:

sudo service httpd restart

现在,你的 Flask 应用程序应该已经在 Amazon EC2 实例上运行。你可以在 Web 浏览器中访问实例的公有 IP 地址来查看应用程序。例如,如果你的实例的公有 IP 地址为 52.14.68.22,则可以在 Web 浏览器中访问 http://52.14.68.22 的地址,应该会看到一个包含“Hello World!”的网页。