【问题标题】:Django + Nginx + Uwsgi see Nginx default page then run on 80 portDjango + Nginx + Uwsgi 查看 Nginx 默认页面然后在 80 端口上运行
【发布时间】:2021-05-06 19:09:48
【问题描述】:

我有使用 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
        }
    }

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;

ubergfapi_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

当我在端口 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;

【问题讨论】:

    标签: django nginx


    【解决方案1】:

    我加了

    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;
    

    location 的位置,它成功了

    【讨论】:

      猜你喜欢
      • 2012-08-02
      • 1970-01-01
      • 1970-01-01
      • 2021-05-26
      • 1970-01-01
      • 2015-06-21
      • 2017-11-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多