目标

生产:Nginx 反代 + 日志 + API Key 发文验证 + 镜像瘦身。

1. Nginx

server {
  listen 80;
  client_max_body_size 1024m;
  location / {
    proxy_pass http://127.0.0.1:5000;
    proxy_set_header Host $host;
  }
  location /static/ { alias /home/www/strli/flask_blog/app/static/; }
}

你现在 uwsgi.ini 用 socket 是同一机方案;容器化后建议 web 暴露 5000 给 Nginx,和你现在的 limit-post/http-timeout 保持一致。

2. 日志

uwsgi logto=uwsgi.log 挂出来:- ./uwsgi.log:/app/uwsgi.log,或改 stdout 给 docker logs 收集。

3. API 发文验证

curl -X POST http://127.0.0.1:5000/api/posts \
 -H "X-API-Key: $ADMIN_API_KEY" -H "Content-Type: application/json" \
 -d '{"title":"hello","content":"

hi

","tags":"docker"}'

本系列 3 篇即用此接口发布,无 Key 返回 401。

4. 多阶段瘦身

builder 装 build-essential 编译 uwsgi/Pillow,runtime 只留 ffmpeg + libjpeg,镜像可小 40%+。