python - 上传文件卡住 - 使用 Nginx 和 gunicorn 部署 Django 应用程序
问题描述
我已经使用 nginx 和 gunicorn 在 centos 7 上部署了我的 django 应用程序,当我尝试上传大文件(25MB)时,它在上传 80-90% 后挂起,我经历了许多解决方案并相应地更改了我的 nginx.conf 文件但没有任何效果。我在我的 nginx 日志文件中没有收到任何错误或日志,客户端没有从服务器收到任何响应。
我没有得到什么是错的,请帮助我。
- gunicorn.service
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=prod
Group=nginx
WorkingDirectory=/home/prod/myProject1.0/myProject
ExecStart=/home/prod/myProjectenv/bin/gunicorn --workers 3 --bind unix:/home/prod/myProject1.0/myProject/myProject.sock myProject.wsgi:application
[Install]
WantedBy=multi-user.target
- nginx.conf
user prod;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
include /etc/nginx/mime.types;
default_type application/octet-stream;
include /etc/nginx/conf.d/*.conf;
server {
listen 80;
server_name _;
client_body_in_file_only clean;
client_max_body_size 8000M;
client_body_buffer_size 80k;
client_body_timeout 300s;
client_body_temp_path /home/prod/media;
send_timeout 300s;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
autoindex on;
alias /home/prod/myProject1.0/myProject/static/;
}
location / {
proxy_set_header Host $http_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;
proxy_pass http://unix:/home/prod/myProject1.0/myProject/myProject.sock;
}
}
}
我的项目文件夹结构 -
drwxrwxr-x. 4 prod prod 55 Nov 13 12:37 myProject1.0
drwxrwxr-x. 5 prod prod 56 Nov 13 13:12 myProjectenv
drwx------. 2 prod nginx 6 Nov 26 15:18 media
-rw-rw-r--. 1 prod prod 944 Nov 14 13:57 mynginx.pp
-rw-rw-r--. 1 prod prod 223 Nov 14 13:57 mynginx.te
-rw-rw-r--. 1 prod prod 30388 Oct 4 07:31 mysql80-community-release-el8.rpm
-rw-rw-r--. 1 prod prod 20753760 Mar 18 2019 Python-3.5.7.tgz
drwxrwxr-x. 2 prod prod 107 Nov 11 18:57 rpm
解决方案
推荐阅读
- java - Error while trying to write some data on a MySQL empty table with 5.7 version
- java - 在 Spring boot 2 @Service 和它使用的 Business Objects / POJO 中使用 Locale(从网页或 REST 服务知道)的方式是什么?
- windows - Windows directory with 5 million files
- c# - Get Active Directory ExtensionAttribute via UserPrincipal
- python - PySide: QAbstractItemModel - connect dataChanged()
- powerbi - 忽略事实表中的空白测量 dax
- r - 有没有办法“分块”德雷克输出来加速计划验证和显示?
- javascript - React Redux 无限循环更新 - 使用 combineReducers 更新启动问题
- swift - PromiseKit 6 错误无法转换错误
- java - Kotlin Android / Java String DateTime 格式,API21