部署 Flask 项目涉及到多个步骤,包括环境设置、依赖管理、配置、Web 服务器配置、数据库管理等。下面是一个详细的部署指南,假设你使用的是 Linux 系统(如 Ubuntu)。
前三个步骤教你如何在python虚拟环境下搭建项目并给出项目结构示例,如果已有项目或项目已完成,可以直接跳过。
1. 准备工作
1.1 安装必要的软件
确保你的服务器上已经安装了 Python 和 pip:
sudo apt update
sudo apt install python3 python3-pip virtualenv
1.2 创建虚拟环境
创建一个虚拟环境以隔离项目依赖:
mkdir ~/myproject
cd ~/myproject
virtualenv venv
source venv/bin/activate
1.3 安装 Flask 项目依赖
在虚拟环境中安装 Flask 以及项目所需的依赖:
pip install Flask
# 安装其他依赖,假设你有 requirements.txt 文件
pip install -r requirements.txt
2. 配置 Flask 应用
确保你的 Flask 项目结构如下:
myproject/
├── app/
│ ├── __init__.py
│ ├── views.py
│ ├── models.py
│ └── ...
├── config.py
├── run.py
├── requirements.txt
└── ...
run.py
文件内容示例:
from app import create_app
app = create_app()
if __name__ == "__main__":
app.run()
app/__init__.py
文件内容示例:
from flask import Flask
def create_app():
app = Flask(__name__)
# 配置
app.config.from_object('config')
# 注册蓝图
from .views import main
app.register_blueprint(main)
return app
3. 配置生产环境
3.1 配置文件
创建 config.py
文件,设置生产环境配置:
class Config:
SECRET_KEY = 'my_secret_key'
SQLALCHEMY_DATABASE_URI = 'mysql://user:password@localhost/dbname'
SQLALCHEMY_TRACK_MODIFICATIONS = False
class ProductionConfig(Config):
DEBUG = False
TESTING = False
class DevelopmentConfig(Config):
DEBUG = True
TESTING = True
在 run.py
中设置环境:
app.config.from_object('config.ProductionConfig')
4. 部署到 Web 服务器
使用 Gunicorn 作为 WSGI 服务器来运行 Flask 应用。
WSGI(Web Server Gateway Inter