Nginx + uwsgi… 502 bad gateway

Richard Knop asked:

So I am trying to set up Nginx with uwsgi for my Django app.

Here is my /etc/nginx/nginx.conf file:

# /etc/nginx/nginx.conf
user       richard richard;  ## Default: nobody
worker_processes  5;  ## Default: 1
error_log  /var/log/nginx/error.log;
pid        /var/log/nginx/nginx.pid;
worker_rlimit_nofile 8192;

events {
  worker_connections  4096;  ## Default: 1024
}

http {
  include   /etc/nginx/mime.types;
  include   /etc/nginx/proxy.conf;
  index     index.html index.htm;

  default_type application/octet-stream;
  log_format   main '$remote_addr - $remote_user [$time_local]  $status '
    '"$request" $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;
  server_names_hash_bucket_size 128; # this seems to be required for some vhosts

  include   /etc/nginx/conf.d/vhost.conf;
}

And my /etc/nginx/conf.d/vhost.conf:

# /etc/nginx/conf.d/vhost.conf
upstream django {
  # connect to this socket
  server unix:///tmp/uwsgi.sock;
}

server {
  # the port your site will be served on
  listen      80;
  # the domain name it will serve for
  server_name localhost;
  charset     utf-8;

  client_max_body_size 2M;

  location /media  {
    alias /usr/local/django-app/media;
  }

  location /static {
    alias /usr/local/django-app/static;
  }

  # finally, send all non-media requests to the Django server.
  location / {
    uwsgi_pass  django;
    include     /etc/nginx/uwsgi_params;
  }
}

When I go to localhost I get:

Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:80... connected
HTTP request sent, awaiting response... 502 Bad Gateway
2013-12-22 03:08:56 ERROR 502: Bad Gateway

Any ideas?

My answer:


Your Django app is not running. Start it (and make sure you got the socket path correct).


View the full question and answer on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.