📅  最后修改于: 2023-12-03 14:50:54.699000             🧑  作者: Mango
如果你想在 Amazon EC2 实例上安装 Flask 的应用程序,并希望使用 Apache 作为 Web 服务器,请按照以下步骤操作。
使用以下命令安装 Apache 和 mod_wsgi:
sudo yum update
sudo yum install httpd mod_wsgi
接下来,安装 Flask 和其它必需软件包(例如 setuptools 和 Flask-WTF):
sudo yum install python3-pip
sudo pip3 install Flask Flask-WTF
在这一步中,你需要编写一个 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
的文件中。
现在,需要配置 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/
创建一个 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'
最后,重启 Apache 以使以上更改生效:
sudo service httpd restart
现在,你的 Flask 应用程序应该已经在 Amazon EC2 实例上运行。你可以在 Web 浏览器中访问实例的公有 IP 地址来查看应用程序。例如,如果你的实例的公有 IP 地址为 52.14.68.22
,则可以在 Web 浏览器中访问 http://52.14.68.22
的地址,应该会看到一个包含“Hello World!”的网页。