我正在使用 Django 在linux服务器上开发Web应用程序。
在部署方面,建议的方法是使用 Nginx 与客户进行通信, Django 只需要与 Nginx进行通信使用 uwsgi 协议。
关系是客户< -Http-> Nginx< -uwsgi-> Django服务器
后来我发现我也可以使用
在公共网络上推送服务器 python manage.py runserver 0:0:0:0
似乎Nginx可以帮助提供静态文件和媒体。
我的问题是,使用Nginx作为中间人的好处是什么?
答案 0 :(得分:2)
请勿在生产设置中使用此服务器。它没有经过安全审核或性能测试。 (这就是它将如何保留。我们的业务是制作Web框架,而不是Web服务器,因此改进此服务器以便能够处理生产环境超出了Django的范围。)
答案 1 :(得分:0)
runserver
用于调试,在生产中我们使用gunicorn / uwsgi启动django应用程序,所以问题可以是Do we need Nginx if we have configured gunicorn/uwsgi for Django
,答案是YES
,因为与gunicorn相比/ uwsgi,Nginx具有以下优势
:
参考更多功能:https://en.wikipedia.org/wiki/Nginx#HTTP_proxy_and_Web_server_features