
在本篇文章中,我们将探讨如何使用 PM2 来部署一个简单的 Flask 项目。PM2 是一个功能强大的进程管理工具,用于在生产环境中运行和管理 Node.js 应用,但它也能很好地支持 Python 应用,如 Flask。通过本教程,你将学会如何将 Flask 项目部署到服务器并进行管理。
操作前的准备
在开始之前,请确保你已经具备以下条件:
- 一台运行 Linux 的服务器或者 VPS。
- 已安装 Node.js 和 NPM。
- 已安装 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 不仅可以启动应用,还提供了监控、日志管理、自动重启等功能,帮助你在生产环境中更轻松地管理应用。



