【发布时间】:2018-06-05 01:58:10
【问题描述】:
我已经使用 Gunicorn 和 NGINX 部署了 Django,如果 Django 应用程序在根 url 上提供服务,它可以正常工作,配置如下:
server {
listen 80;
location = /favicon.ico { access_log off; log_not_found off; }
location / {
include proxy_params;
proxy_pass http://unix:my_app.sock;
}
}
但是,当我尝试在另一个 URL 上提供 Django 应用程序时,它不起作用。 如果我尝试访问http://domain/my_app/admin/,那么 Django 会告诉我它找不到视图。
这是 NGINX 配置:
server {
listen 80;
location = /favicon.ico { access_log off; log_not_found off; }
location /my_app {
include proxy_params;
proxy_pass http://unix:/var/my_app/app.sock;
}
}
我怎样才能做到这一点?到目前为止,我找不到任何解决方案来指定类似“BASE_URL”的内容。
【问题讨论】:
-
您要查找的设置是
FORCE_SCRIPT_NAME- 您也可以让 nginx 将标头X-Script-Name设置为/my_app