Skip to content

web 应用部署

  • Web 应用需要通过 HTTP 服务对外提供访问,常见部署架构为「反向代理 + WSGI/ASGI 服务器 + 应用」。
  • 如 Django、Flask、FastAPI

准备环境

  • 在项目根目录下,生成环境清单文件requirements.txt
bash
pip list --format=freeze > requirements.txt

安装 conda 环境

bash
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
source ~/.bashrc
# 检查 conda 是否安装成功
conda --version
  • 每个项目创建一个独立的 conda 环境,环境名称与项目名称相同
bash
conda create -n flask_project python=3.12
  • 激活 conda 环境
bash
# 激活环境
conda activate flask_project
  • 在项目根目录下,上传项目代码和依赖清单文件requirements.txt上传到服务器
bash
# 上传项目代码
scp -r ./ root@212.64.13.112:/www/wwwroot/flask_project
# 或者把代码上传到git仓库,在服务器项目目录下,执行git clone命令
git clone https://github.com/yourusername/flask_project.git
  • 在服务器项目目录下,安装依赖
bash
pip install -r requirements.txt
  • 退出 conda 环境
bash
conda deactivate

Flask + Gunicorn + Nginx

安装 Flask

bash
pip install flask

安装 Gunicorn

bash
pip install gunicorn

运行项目

bash
gunicorn -w 4 -b 127.0.0.1:8000 app:app

配置 nginx

nginx
server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}