Flask 如何使用 Apache 部署?

· 约 4 分钟读完 · 第 121 / 136 章

推荐答案

要将 Flask 应用部署到 Apache 服务器上,通常需要使用 mod_wsgi 模块。以下是具体步骤:

  1. 安装 Apache 和 mod_wsgi:

    • 在 Ubuntu 上,可以使用以下命令安装:
    • 在 CentOS 上,可以使用以下命令安装:
  2. 配置 Flask 应用:

    • 确保你的 Flask 应用有一个 wsgi.py 文件,内容如下:
  3. 配置 Apache:

    • 在 /etc/apache2/sites-available/ 目录下创建一个新的配置文件,例如 flask_app.conf,内容如下:
  4. 启用站点并重启 Apache:

    • 启用站点:
    • 重启 Apache:

本题详细解读

1. 为什么使用 Apache 和 mod_wsgi?

Apache 是一个广泛使用的 Web 服务器,而 mod_wsgi 是一个 Apache 模块,用于托管 Python Web 应用程序。通过 mod_wsgi,你可以将 Flask 应用与 Apache 集成,从而利用 Apache 的强大功能和稳定性。

2. WSGI 文件的作用

wsgi.py 文件是 Flask 应用与 Apache 之间的桥梁。它导入了 Flask 应用实例,并将其暴露为 application,这是 mod_wsgi 所期望的入口点。

3. Apache 配置详解

  • WSGIDaemonProcess:指定了 Flask 应用的进程名称、运行用户、组以及线程数。
  • WSGIScriptAlias:将 URL 路径映射到 wsgi.py 文件。
  • Directory:指定 Flask 应用目录的权限,确保 Apache 可以访问该目录。
  • ErrorLog 和 CustomLog:分别指定错误日志和访问日志的路径。

4. 启用站点和重启 Apache

启用站点后,Apache 会加载新的配置。重启 Apache 是为了确保所有配置更改生效。

通过以上步骤,你可以成功将 Flask 应用部署到 Apache 服务器上。