Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

nginx django 502 bad gateway

I am using uWSGI and Nginx to server up my Django website (1.4 version). My file structure is django_mysite/django_mysite/ in which there is a wsgi.py file.
I keep getting 502 Bad gateway errors. I have other servers running of nginx and they are working fine.

My nginx config:

server {
  listen      80;
  server_name beta.example.com;

  keepalive_timeout 70;

  root /path/to/django_mysite/django_mysite;


  location root {
        root   html;
        uwsgi_pass   localhost:9000;
        uwsgi_param UWSGI_SCRIPT django_wsgi;
        include        uwsgi_params;
    }

  location / {
        uwsgi_pass   localhost:9000;
        include        uwsgi_params;
        uwsgi_param SCRIPT_NAME /django;
        uwsgi_param UWSGI_SCRIPT django_wsgi;
        uwsgi_modifier1 30;
    }
}

My wsgi.py file: import sys import os

sys.path.append('/path/to/django_mysite/')
 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "django_mysite.settings")

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

The error in the log is:

*3 recv() failed (104: Connection reset by peer) while reading response header from upstream

Thanks

like image 763
Christopher H Avatar asked Jul 17 '12 19:07

Christopher H


People also ask

What is the meaning of 502 bad gateway?

The HyperText Transfer Protocol (HTTP) 502 Bad Gateway server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.


1 Answers

The solution I found was this: the uwsgi.ini file that I made to create the uwsgi workers didn't specify a socket. So I made another .ini file and made a socket for it. That same socket I placed into the nginx conf file under uwsgi_pass. Here is a link to django's webpages for configuring uwsgi.

https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/uwsgi/

like image 79
Christopher H Avatar answered Oct 23 '22 07:10

Christopher H