我试图通过使用Nginx的UWSGI设置Django。
我得到了UWSGI通行证使用这个function
location / { include uwsgi_params; uwsgi_pass 127.0.0.1:9001; }
不幸的是,当我访问/ django /pipe理员。 我得到一个错误
找不到页面(404)请求方法:GET请求URL: http ://69.xxx/django/admin使用Django.urls中定义的URLconf,Django按以下顺序尝试这些URL模式:^ admin /
在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 REMOTE_ADDR $remote_addr; uwsgi_param REMOTE_PORT $remote_port; uwsgi_param SERVER_PORT $server_port; uwsgi_param SERVER_NAME $server_name;
这些是传递给你的应用程序的参数。 我想你需要将request_uri更改为$ host,以便删除主机名后面的所有内容。
你也可以在虚拟服务器configuration中设置这个variables,它应该在本地覆盖它。 在uwsgi_pass 127.0.0.1:9001;之前执行此操作uwsgi_pass 127.0.0.1:9001; 。
另外,还可以创build一个重写规则,如下所示:
rewrite ^(.*)/(.*)$ $1 last;
并将其添加到location /部分,但我不确定这会按预期工作。