繁体   English   中英

如何使用 nginx 反向代理设置 Django

[英]How to set up Django with nginx reverse proxy

我有一个 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 来缓解这种情况吗?

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

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

感谢这个 SO 交流

        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/;
                }
         }

以上应该工作。 您缺少 proxy_pass url 末尾的“/”

或者,你可以做

         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;
                }
         }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM