Django+Nginx+uWSGI = 504 тайм-аут шлюза с pdf2image
Я пытаюсь запустить Django приложение, используя Nginx+uWSGI.
sudo apt update
sudo apt install poppler-utils
Я установил poppler-utils.
И мое приложение пытается конвертировать загруженные страницы pdf в jpg с помощью модуля pdf2image.
Однако через минуту я получил сообщение 504 Gateway Time-out
.
При конвертировании небольшого файла pdf (335KB) в jpg программа работает хорошо. Однако при конвертировании pdf большого объема (6,82 МБ) происходит тайм-аут.
- /etc/nginx/nginx.conf:
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
}
http {
client_max_body_size 50M;
upstream django {
server unix:/home/ubuntu/myapp/uwsgi.sock;
}
proxy_send_timeout 300;
proxy_read_timeout 300;
proxy_connect_timeout 300;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
- /etc/nginx/sites-enabled/default:
server {
listen 80 default server;
listen [::]:80 default_server;
root /var/www/html;
server _name _;
location / {
include /etc/nginx/uwsgi_params;
uwsgi_pass django;
proxy_buffer_size 256k;
proxy_buffers 16 256k;
proxy_busy_buffers_size 512k;
}
...
}
- uwsgi.ini:
[uwsgi]
chdir=/home/ubuntu/myapp
module=myapp.wsgi:application
master=True
pidfile=/tmp/project-master.pid
vacuum=True
max-requests=5000
daemonize=/home/ubuntu/myapp/django.log
home=/home/ubuntu/myapp/venv
virtualenv=/home/ubuntu/myapp/venv
socket=/home/ubuntu/myapp/uwsgi.sock
chmod-socket=666
http-timeout=600
- nginx error.log:
2022/06/02 17:11:20 [error] 1652#1652: *69 upstream timed out (110: Connection timed out) while reading response header from upstream, client: my_ip, server: _, request: "POST /upload/pdf/url HTTP/1.1", upstream: "uwsgi://unix:/home/ubuntu/myapp/uwsgi.sock", host: "my_server_ip", referrer: "http://my_server_ip/upload/pdf/url"
Я не знаю, чего мне не хватает. Есть ли у кого-нибудь идея, как я могу решить эту проблему?