django nginx uwsgi ubuntu server deploying fail

2019-03-04 20:20发布

I am trying to set up my little Django project (Django 1.8) with nginx and uwsgi, but it just fails when running:

uwsgi --socket :8001 --wsgi-file test.py

which follows documentation.

I do not know why? I just step by step but when I run above command and check my serverip:8000 it shows nothing. However when I run:

uwsgi --http :8000 --wsgi-file test.py

it works and shows Hello World web site. Running command:

uwsgi --http :8000 --module myproject.wsgi

it works and shows myproject web site.

But when it comes to

uwsgi --socket :8001 --wsgi-file test.py

it just fails..

here is my nginx site config:

upstream django {
    #server unix:///home/ubuntu/path/myproject/myproject.sock; # for a file socket
     server 127.0.0.1:8001; # for a web port socket (we'll use this first)
}

# configuration of the server
server {
    # the port your site will be served on
    listen      8000;
    # the domain name it will serve for
    server_name 123.123.123.123; # substitute your machine's IP address or FQDN
    charset     utf-8;

    # max upload size
    client_max_body_size 75M;   # adjust to taste

    # Django media
    location /media  {
        alias /home/ubuntu/path/myproject/media;  # your Django project's media files - amend as required
    }

    location /static {
        alias /home/ubuntu/path/myproject/myapp/static; # your Django project's static files - amend as required
    }

    # Finally, send all non-media requests to the Django server.
    location / {
        uwsgi_pass  django;
        include     /home/ubuntu/path/myproject/uwsgi_params; # the   uwsgi_params file you installed
    }
}

the uwsgi_params

uwsgi_param  QUERY_STRING       $query_string;
uwsgi_param  REQUEST_METHOD     $request_method;
uwsgi_param  CONTENT_TYPE       $content_type;
uwsgi_param  CONTENT_LENGTH     $content_length;

uwsgi_param  REQUEST_URI        $request_uri;
uwsgi_param  PATH_INFO          $document_uri;
uwsgi_param  DOCUMENT_ROOT      $document_root;
uwsgi_param  SERVER_PROTOCOL    $server_protocol;
uwsgi_param  REQUEST_SCHEME     $scheme;
uwsgi_param  HTTPS              $https if_not_empty;

uwsgi_param  REMOTE_ADDR        $remote_addr;
uwsgi_param  REMOTE_PORT        $remote_port;
uwsgi_param  SERVER_PORT        $server_port;
uwsgi_param  SERVER_NAME        $server_name;

Log from (not working) uWSGI command:

!!! no internal routing support, rebuild with pcre support !!!
*** WARNING: you are running uWSGI without its master process manager ***
your processes number limit is 7862
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to TCP address :8001 fd 3
Python version: 2.7.6 (default, Jun 22 2015, 18:01:27)  [GCC 4.8.2]
*** Python threads support is disabled. You can enable it with --enable-threads ***
Python main interpreter initialized at 0x1ad5ec0
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 72768 bytes (71 KB) for 1 cores
*** Operational MODE: single process ***
WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x1ad5ec0 pid: 13959 (default app)
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI worker 1 (and the only) (pid: 13959, cores: 1)

0条回答
登录 后发表回答