我将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。