Django + Nginx + Uwsgi 查看Nginx默认页面然后运行在80端口

Ale*_*tin 5 django nginx

我有一个使用 Nginx + Uwsgi 在 VPS 上运行的 Django 应用程序。

Symlink nginx 配置

# the upstream component nginx needs to connect to
    upstream django {
        server unix:///root/ubergf/client/uwsgi_nginx.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      80;
        # the domain name it will serve for
        server_name my-site.com; # 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 /root/ubergf/client/media;  # your Django project's media files - amend as required
        }

        location /static {
        alias /root/ubergf/client/staticfiles; # your Django project's static files - amend as required
        }

        # Finally, send all non-media requests to the Django server.
        location / {
        uwsgi_pass  django;
        include     /root/ubergf/client/deployment/uwsgi_params; # the uwsgi_params file you installed
        }
    }
Run Code Online (Sandbox Code Playgroud)

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;
Run Code Online (Sandbox Code Playgroud)

uberfapi_uwsgi.ini

[uwsgi]

chdir           = /root/ubergf/client
module          = ubergfapi.wsgi
master          = true
processes       = 10
socket          = /root/ubergf/client/uwsgi_nginx.sock
chmod-socket    = 666
vacuum          = true
env             = DEBUG_MODE=False
Run Code Online (Sandbox Code Playgroud)

当我在端口 8000 上运行所有内容(更改Symlink nginx 配置)时,一切正常(my_domain.com:8000),但是当我将其更改回 80 时 - my_domain.com 返回我 Nginx 默认页面。

编辑:

尝试在参数后面添加到位置部分并得到相同的结果

proxy_pass http://your_server_ip:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
Run Code Online (Sandbox Code Playgroud)

Ale*_*tin 4

我添加了

uwsgi_param Host $host;
uwsgi_param X-Real-IP $remote_addr;
uwsgi_param X-Forwarded-For $proxy_add_x_forwarded_for;
uwsgi_param X-Forwarded-Proto $http_x_forwarded_proto;
Run Code Online (Sandbox Code Playgroud)

到了位置location并且成功了