Hero image home@2x

如何使用PM2部署Flask项目

如何使用PM2部署Flask项目

在本篇文章中,我们将探讨如何使用 PM2 来部署一个简单的 Flask 项目。PM2 是一个功能强大的进程管理工具,用于在生产环境中运行和管理 Node.js 应用,但它也能很好地支持 Python 应用,如 Flask。通过本教程,你将学会如何将 Flask 项目部署到服务器并进行管理。

操作前的准备

在开始之前,请确保你已经具备以下条件:

  • 一台运行 Linux 的服务器或者 VPS。
  • 已安装 Node.jsNPM
  • 已安装 Flask 并创建了一个简单的 Flask 应用。
  • 具备基本的 Linux 命令行知识。

步骤一:安装 PM2

首先,你需要通过 NPM 安装 PM2。使用以下命令:

npm install pm2 -g

这里的 -g 参数表示全局安装。

步骤二:创建 Flask 项目

假设你已经创建了一个简单的 Flask 应用,项目目录结构如下:

/my_flask_app

├── app.py

├── requirements.txt

其中,app.py 是 Flask 应用的主文件,内容如下:

from flask import Flask

app = Flask(__name__)

@app.route('/')

def hello():

return "Hello, World!"

if __name__ == '__main__':

app.run(host='0.0.0.0', port=5000)

步骤三:安装依赖

在项目目录下,安装 Flask 及其依赖,使用以下命令:

pip install -r requirements.txt

步骤四:使用 PM2 启动 Flask 应用

使用 PM2 启动你的 Flask 应用。运行以下命令:

pm2 start app.py --interpreter python3

在这里,–interpreter 参数指定使用的 Python 版本。

步骤五:查看应用状态

你可以使用以下命令来查看 PM2 管理的进程状态:

pm2 list

这将展示当前运行的进程及其状态。

步骤六:配置 PM2 自启动

为了让你的 Flask 应用在服务器重启后自动启动,你需要执行以下命令:

pm2 startup

该命令会输出一条提示信息,请按照指示复制并执行相应的命令。

接着,保存当前的进程列表:

pm2 save

可能遇到的问题与注意事项

  • 确保 Flask 应用可以通过 0.0.0.0 访问,否则外部请求无法到达。
  • 检查防火墙设置,确保端口 5000(或你使用的其它端口)开放。
  • 如果应用无法启动,使用 pm2 logs 查看错误日志。

总结

通过本教程,你学会了如何使用 PM2 来部署和管理 Flask 应用。PM2 不仅可以启动应用,还提供了监控、日志管理、自动重启等功能,帮助你在生产环境中更轻松地管理应用。