当前位置:首页>python>Python 零基础100天—Day65 Django 部署

Python 零基础100天—Day65 Django 部署

  • 2026-08-18 23:10:44
Python 零基础100天—Day65 Django 部署

Django 部署 — 从开发到上线

🕐 预计用时:2-3 小时 | 🎯 目标:掌握 Gunicorn + Nginx 部署、Docker 容器化和静态文件收集


📖 今日目录

  1. 开发 vs 生产环境
  2. 生产环境配置
  3. Gunicorn WSGI 服务器
  4. Nginx 反向代理
  5. 静态文件收集
  6. Docker 容器化
  7. Docker Compose
  8. 部署清单
  9. 今日练习
  10. 今日小结

1. 开发 vs 生产环境

配置
开发环境
生产环境
DEBUG
True
False
SECRET_KEY
硬编码
环境变量
ALLOWED_HOSTS
['*']
['yourdomain.com']
数据库
SQLite
PostgreSQL / MySQL
WSGI 服务器
runserver(Django 自带)
Gunicorn / uWSGI
静态文件
Django 开发服务器
Nginx / CDN
HTTPS
不需要
必须

⚠️ 生产环境三大铁律:1. DEBUG = False(泄露源码和敏感信息)2. SECRET_KEY 用环境变量(不要写在代码里)3. 不要用 runserver(单线程,性能差,不安全)


2. 生产环境配置

# config/settings_prod.pyimport osfrom .settings_base import *DEBUG = FalseSECRET_KEY = os.environ.get('DJANGO_SECRET_KEY')ALLOWED_HOSTS = os.environ.get('DJANGO_ALLOWED_HOSTS', '').split(',')# 生产数据库(PostgreSQL)DATABASES = {    'default': {        'ENGINE': 'django.db.backends.postgresql',        'NAME': os.environ.get('DB_NAME', 'mydb'),        'USER': os.environ.get('DB_USER', 'myuser'),        'PASSWORD': os.environ.get('DB_PASSWORD'),        'HOST': os.environ.get('DB_HOST', 'localhost'),        'PORT': os.environ.get('DB_PORT', '5432'),    }}# 安全设置SECURE_BROWSER_XSS_FILTER = TrueSECURE_CONTENT_TYPE_NOSNIFF = TrueSESSION_COOKIE_SECURE = True         # 仅 HTTPS 传输 CookieCSRF_COOKIE_SECURE = TrueSECURE_SSL_REDIRECT = True           # HTTP 自动跳转 HTTPS# 静态文件STATIC_ROOT = BASE_DIR / 'staticfiles'STATIC_URL = '/static/'# 媒体文件MEDIA_ROOT = BASE_DIR / 'media'MEDIA_URL = '/media/'# 日志LOGGING = {    'version': 1,    'disable_existing_loggers': False,    'handlers': {        'file': {            'level': 'WARNING',            'class': 'logging.FileHandler',            'filename': BASE_DIR / 'logs/django.log',        },    },    'loggers': {        'django': {            'handlers': ['file'],            'level': 'WARNING',            'propagate': True,        },    },}

3. Gunicorn WSGI 服务器

🦄 什么是 Gunicorn?

Gunicorn(Green Unicorn)是一个 Python WSGI HTTP 服务器——它才是生产环境真正运行你的 Django 应用的程序。

# 开发环境:# 浏览器 → Django runserver(单线程,不安全)# 生产环境:# 浏览器 → Nginx(静态文件 + 反向代理) → Gunicorn(运行 Django) → Django 应用
# 安装pip install gunicorn# 启动(基本)gunicorn mysite.wsgi:application# 默认监听 127.0.0.1:8000# 启动(推荐配置)gunicorn mysite.wsgi:application \    --bind 0.0.0.0:8000 \    --workers 4 \    --timeout 120 \    --access-logfile logs/access.log \    --error-logfile logs/error.log

📋 Gunicorn 参数

参数
作用
推荐值
--bind
监听地址
127.0.0.1:8000
--workers
工作进程数
2 × CPU + 1
--timeout
超时时间
120
(秒)
--worker-class
工作模式
sync
(默认)/ gevent
--access-logfile
访问日志
logs/access.log
--error-logfile
错误日志
logs/error.log

💡 Workers 数量公式:workers = 2 × CPU核心数 + 1• 1 核服务器 → 3 workers• 2 核服务器 → 5 workers• 4 核服务器 → 9 workers每个 worker 大约占用 50-200MB 内存,注意内存限制。


4. Nginx 反向代理

🔧 Nginx 的角色

# Nginx 在最前面,做三件事:# 1. 处理静态文件(CSS/JS/图片)—— 直接返回,不经过 Django# 2. 反向代理 —— 把动态请求转发给 Gunicorn# 3. SSL 终止 —— 处理 HTTPS 加密/解密# 请求流程:# 客户端 → Nginx (443/HTTPS)#            ├── 静态文件 → 直接返回#            └── 动态请求 → Gunicorn (8000) → Django
# /etc/nginx/sites-available/mysiteserver {    listen 80;    server_name yourdomain.com;    return 301 https://$server_name$request_uri;}server {    listen 443 ssl;    server_name yourdomain.com;    # SSL 证书    ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;    # 最大上传大小    client_max_body_size 10M;    # 静态文件(Nginx 直接处理,不经过 Django)    location /static/ {        alias /path/to/mysite/staticfiles/;        expires 30d;    }    location /media/ {        alias /path/to/mysite/media/;        expires 30d;    }    # 动态请求转发给 Gunicorn    location / {        proxy_pass http://127.0.0.1:8000;        proxy_set_header Host $host;        proxy_set_header X-Real-IP $remote_addr;        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;        proxy_set_header X-Forwarded-Proto $scheme;    }}
# 启用站点sudo ln -s /etc/nginx/sites-available/mysite /etc/nginx/sites-enabled/sudo nginx -t           # 测试配置sudo systemctl reload nginx

5. 静态文件收集

# Django 的静态文件分散在各个 app 的 static/ 目录中# collectstatic 把它们全部收集到 STATIC_ROOT 目录# settings.pySTATIC_ROOT = BASE_DIR / 'staticfiles'STATIC_URL = '/static/'# 执行收集python manage.py collectstatic# 会把所有 app 的 static/ 文件复制到 staticfiles/ 目录# Nginx 配置 alias 指向这个目录

💡 为什么要 collectstatic?Django 的开发服务器可以自动找到各 app 的静态文件,但生产环境中 Nginx 不知道 Django 的目录结构。collectstatic 把所有静态文件集中到一个目录,Nginx 直接从那里提供服务。


6. Docker 容器化

🐳 Dockerfile

# DockerfileFROM python:3.12-slim# 设置工作目录WORKDIR /app# 安装系统依赖RUN apt-get update && apt-get install -y \    gcc \    libpq-dev \    && rm -rf /var/lib/apt/lists/*# 安装 Python 依赖COPY requirements.txt .RUN pip install --no-cache-dir -r requirements.txt# 复制项目代码COPY . .# 收集静态文件RUN python manage.py collectstatic --noinput# 暴露端口EXPOSE 8000# 启动 GunicornCMD ["gunicorn", "mysite.wsgi:application", \     "--bind", "0.0.0.0:8000", \     "--workers", "3"]
# requirements.txtdjango==5.1djangorestframework==3.15.2gunicorn==23.0.0psycopg2-binary==2.9.9whitenoise==6.7.0     # 静态文件服务(不需要 Nginx 时)python-dotenv==1.0.1  # 读取 .env 文件

🏗️ 构建与运行

# 构建镜像docker build -t mysite .# 运行容器docker run -d \    -p 8000:8000 \    -e DJANGO_SECRET_KEY='your-secret-key' \    -e DB_NAME=mydb \    -e DB_USER=myuser \    -e DB_PASSWORD=mypass \    -e DB_HOST=host.docker.internal \    --name mysite \    mysite# 查看日志docker logs -f mysite

7. Docker Compose

当你的应用有多个服务(Django + PostgreSQL + Redis + Nginx),用 Docker Compose 编排它们。

# docker-compose.ymlversion: '3.8'services:  db:    image: postgres:16    environment:      POSTGRES_DB: mydb      POSTGRES_USER: myuser      POSTGRES_PASSWORD: mypass    volumes:      - postgres_data:/var/lib/postgresql/data    ports:      - "5432:5432"  web:    build: .    command: gunicorn mysite.wsgi:application --bind 0.0.0.0:8000 --workers 3    environment:      - DJANGO_SECRET_KEY=your-secret-key      - DB_NAME=mydb      - DB_USER=myuser      - DB_PASSWORD=mypass      - DB_HOST=db    volumes:      - static_files:/app/staticfiles      - media_files:/app/media    depends_on:      - db    ports:      - "8000:8000"  nginx:    image: nginx:alpine    volumes:      - ./nginx.conf:/etc/nginx/conf.d/default.conf      - static_files:/usr/share/nginx/html/static      - media_files:/usr/share/nginx/html/media    ports:      - "80:80"      - "443:443"    depends_on:      - webvolumes:  postgres_data:  static_files:  media_files:
# 启动所有服务docker-compose up -d# 查看状态docker-compose ps# 查看日志docker-compose logs -f web# 停止docker-compose down

💡 Docker Compose 一键部署:docker-compose up -d 一条命令启动:• PostgreSQL 数据库• Django 应用(Gunicorn)• Nginx 反向代理不用手动安装任何依赖,不用配置系统环境。换一台服务器?docker-compose up -d 就行。


8. 部署清单

步骤
操作
命令
1
设置环境变量
export DJANGO_SECRET_KEY=...
2
关闭 DEBUG
DEBUG = False
3
配置 ALLOWED_HOSTS
ALLOWED_HOSTS = ['yourdomain.com']
4
收集静态文件
python manage.py collectstatic
5
执行数据库迁移
python manage.py migrate
6
创建超级用户
python manage.py createsuperuser
7
启动 Gunicorn
gunicorn mysite.wsgi:application
8
配置 Nginx
编辑 /etc/nginx/sites-available/
9
配置 SSL
certbot --nginx -d yourdomain.com
10
测试
访问 https://yourdomain.com

💡 免 Nginx 方案:WhiteNoise如果不想配置 Nginx,可以用 whitenoise 让 Gunicorn 直接提供静态文件:pip install whitenoise# settings.py 中间件添加:MIDDLEWARE = ['whitenoise.middleware.WhiteNoiseMiddleware', ...]适合小型项目,大型项目还是推荐 Nginx。


9. 今日练习

🏋️ 练习 1:生产配置

# 创建 settings_prod.py:# - DEBUG = False# - SECRET_KEY 从环境变量读取# - ALLOWED_HOSTS 从环境变量读取# - 配置 PostgreSQL 数据库# - 配置日志系统

🏋️ 练习 2:Docker 化

# 为 Django 项目创建:# 1. Dockerfile# 2. requirements.txt# 3. docker-compose.yml(Django + PostgreSQL)# 4. 构建并运行

🏋️ 练习 3:Gunicorn + Nginx

# 在服务器上部署:# 1. 用 Gunicorn 启动 Django# 2. 配置 Nginx 反向代理# 3. 配置 SSL 证书# 4. 测试访问

10. 今日小结

知识点
核心内容
生产配置
DEBUG=False、SECRET_KEY 环境变量、ALLOWED_HOSTS
Gunicorn
WSGI 服务器,真正运行 Django 的程序
Nginx
反向代理 + 静态文件 + SSL 终止
collectstatic
收集所有静态文件到 STATIC_ROOT
Docker
Dockerfile 构建镜像,容器化部署
Docker Compose
多服务编排:Django + PostgreSQL + Nginx
WhiteNoise
免 Nginx 的静态文件方案

🚀 明日预告:Day 66 — 在线商城综合项目Django 全套学完了!明天把所有知识合体——做一个完整的在线商城 MVP:商品展示、购物车、订单系统、用户中心。这是 Django 阶段的终极实战,也是你从"学习者"到"开发者"的关键一步!

轻松时刻:

请在微信客户端打开

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-21 15:39:41 HTTP/2.0 GET : https://f.mffb.com.cn/a/505752.html
  2. 运行时间 : 0.260774s [ 吞吐率:3.83req/s ] 内存消耗:4,800.50kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=c775141daf8b28791bba9fb147f75d46
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001210s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001767s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.007756s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.008885s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001683s ]
  6. SELECT * FROM `set` [ RunTime:0.018519s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000806s ]
  8. SELECT * FROM `article` WHERE `id` = 505752 LIMIT 1 [ RunTime:0.019191s ]
  9. UPDATE `article` SET `lasttime` = 1787297982 WHERE `id` = 505752 [ RunTime:0.012880s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000342s ]
  11. SELECT * FROM `article` WHERE `id` < 505752 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000553s ]
  12. SELECT * FROM `article` WHERE `id` > 505752 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001463s ]
  13. SELECT * FROM `article` WHERE `id` < 505752 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000583s ]
  14. SELECT * FROM `article` WHERE `id` < 505752 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001261s ]
  15. SELECT * FROM `article` WHERE `id` < 505752 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000927s ]
0.262404s