首页 > 解决方案 > 如何使用 nginx 反向代理设置 Django

问题描述

我有一个 Django 项目,我在 127.0.0.1:8888 的开发服务器上启动并运行。我试图让它在我的带有 nginx 的 vps 上运行,所以我可以在 example.com/djangoApp 上看到它。

这是我的 nginx.conf:

server {
    server_name example.com;
            location /otherLocation/ {
                    proxy_pass http://127.0.0.1:10000;
            }

            location /djangoApp/ {
                     proxy_pass http://127.0.0.1:8888;
            }

当我导航到 example.com/djangoApp 时,它会抛出一个错误:“使用 djangoApp.urls 中定义的 URLconf,Django 按以下顺序尝试了这些 URL 模式:/admin 当前路径 djangoApp/ 与任何一个都不匹配这些。”

我可以修改 settings.py 中的根 url 来缓解这种情况吗?

标签: djangonginx

解决方案


我通过添加到 nginx.conf 来解决这个问题:

location /djangoApp {
    rewrite  ^/djangoApp/(.*) /$1 break;
    proxy_pass http://127.0.0.1:8888;
}

感谢这个 SO 交换


推荐阅读