'502 Bad Gateway upstream prematurely closed connection while reading response header from upstream with flask, uWSGI, nginx
how are you? I have a server on DigitalOcean with Ubuntu 16.04 I am making a Flask Application with uWSGI and Nginx.
My files look like: wsgi.py:
from flaskapp import app
if __name__ == "__main__":
app.run()
flaskapp.ini
[uwsgi]
limit-as = 512
module = wsgi:app
plugin = python
master = true
processes = 5
socket = flaskapp.sock
chmod-socket = 660
vacuum = true
die-on-term = true
/etc/systemd/system/flaskapp.service
[Unit]
Description=uWSGI instance to serve flaskapp
After=network.target
[Service]
User=blitwak
Group=www-data
WorkingDirectory=/home/blitwak/flaskapp
Environment="PATH=/home/blitwak/flaskapp/myprojectenv/bin"
ExecStart=/home/blitwak/flaskapp/myprojectenv/bin/uwsgi --ini flaskapp.ini
[Install]
WantedBy=multi-user.target
/etc/nginx/sites-available/flaskapp.conf
server {
listen 80;
server_name 162.243.76.55;
charset utf-8;
proxy_buffering on;
proxy_buffer_size 1k;
proxy_buffers 24 4k;
proxy_busy_buffers_size 8k;
proxy_max_temp_file_size 2048m;
proxy_temp_file_write_size 32k;
proxy_connect_timeout 75s;
proxy_read_timeout 300s;
location / {
include uwsgi_params;
uwsgi_pass unix:///home/blitwak/flaskapp/flaskapp.sock;
uwsgi_param UWSGI_SCRIPT app.wsgi;
uwsgi_buffer_size 32k;
uwsgi_buffers 8 32k;
uwsgi_busy_buffers_size 32k;
}
}
and in /var/log/nginx/error.log it says a lot of times:
2017/01/19 15:58:18 [error] 19181#19181: *36 upstream prematurely closed connection while reading response header from upstream, client: {myip}, server: {myserver}, request: "POST /yajugue HTTP/1.1", upstream: "uwsgi://unix:///home/blitwak/flaskapp/flaskapp.sock:", host: "{myserver}", referrer: "http://{myserver}/jugarPrimeraVez"
Thank you very much!!!
How can I resolve it?
Solution 1:[1]
Maybe enough set rule for Flask app. For example:
sudo chmod 710 /var/www/flask_app
sudo chown -R nginx: /var/www/flask_app
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Artem Baranov |