大小的Django Docker Nginx文件上传问题

时间:2019-06-15 15:16:56

标签: django docker nginx gunicorn

我将Django与Docker,Nginx和Gunicorn结合使用。我可以上传最大1MB的文件,没有问题。 1MB到2.5MB的文件会显示[413实体太大],而2.5MB以上的文件会显示[502错误的网关]。

我试图将我的军械库工改为gevent,并将超时时间增加到300s,同时将nginx的超时时间也增加了。我将FILE_UPLOAD_MAX_MEMORY_SIZE更改为最大10MB。

在docker-compose中,我有以下内容:

command: bash -c "python manage.py collectstatic --no-input && python manage.py makemigrations && python manage.py migrate && gunicorn --timeout 300 --workers=3 --worker-class=gevent  my_project.wsgi -b 0.0.0.0:8000"

在settings.py中,我有这个:

FILE_UPLOAD_MAX_MEMORY_SIZE = 9621440

再次在docker-compose中讨论有关nginx的信息,

nginx:
    image: nginx:latest
    container_name: ng01
    ports:
      - "8000:8000"
    volumes:
      - ./src:/src
      - ./config/nginx:/etc/nginx/conf.d
      - /static:/static
      - ./src/media:/media
    depends_on:
      - web
    restart: always

我的nginx.conf是:

upstream web {
  ip_hash;
  server web:8000;
}

server {
  location /static/ {
      autoindex on;
      alias /static/;
  }

  location /media/ {
      autoindex on;
      alias /media/;
  }

  location / {
        proxy_pass http://web/;
        proxy_connect_timeout 75s;
        proxy_read_timeout 300s;
  }
  listen 8000;
  server_name mydomain;
}

我希望能够上传最大10MB左右的PDF。

0 个答案:

没有答案