Django Docker Nginx проблема с загрузкой файла с размером - PullRequest
0 голосов
/ 15 июня 2019

Я использую Django с Docker, Nginx и Gunicorn. Я могу загрузить файлы до 1 МБ без проблем. Файлы размером от 1 МБ до 2,5 МБ дают [413 Слишком большой объект], а файлы размером более 2,5 МБ дают [502 Bad gateway].

Я пытался изменить своих рабочих-оружейников на gevent и увеличить время ожидания до 300 с, а также время ожидания для nginx. Я изменил FILE_UPLOAD_MAX_MEMORY_SIZE до 10 МБ.

В 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;
}

Я ожидаю, что смогу загружать файлы PDF размером до 10 МБ или около того.

...