【问题标题】:Django with and without Nginx有和没有 Nginx 的 Django
【发布时间】:2018-08-23 21:56:25
【问题描述】:

我正在使用 Django 在 linux 服务器上开发一个 web 应用程序。

在部署方面,一个建议的方式是使用Nginx与客户端通信,Django只需要与Nginx通信使用 uwsgi 协议。

关系是客户端NginxDjango服务器

后来发现我也可以用

推送公网服务器

python manage.py runserver 0:0:0:0

Nginx 似乎可以帮助提供静态文件和媒体。

我的问题是,使用 Nginx 作为中间人到底有什么好处?

【问题讨论】:

    标签: django nginx uwsgi


    【解决方案1】:

    来自docs on runserver

    请勿在生产环境中使用此服务器。它没有经过安全审计或性能测试。 (这就是它会一直存在的方式。我们的业务是制作 Web 框架,而不是 Web 服务器,因此改进此服务器以使其能够处理生产环境超出了 Django 的范围。)

    【讨论】:

      【解决方案2】:

      runserver 用于调试,生产中我们使用 gunicorn/uwsgi 启动 django 应用,所以问题可以是Do we need Nginx if we have configured gunicorn/uwsgi for Django,答案是YES,因为与 gunicorn/uwsgi 相比,Nginx 具有以下优势 :

      • 安全,可配置为拒绝或允许某些IP地址
      • 负载均衡
      • 处理静态文件
      • 缓存
      • ...

      更多功能参考:https://en.wikipedia.org/wiki/Nginx#HTTP_proxy_and_Web_server_features

      【讨论】:

        猜你喜欢
        • 2018-01-28
        • 2013-03-22
        • 2019-07-03
        • 2017-04-18
        • 1970-01-01
        • 2023-01-24
        • 2019-03-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多