部署Django 应该使用apache + nginx还是uwsgi+ nginx
apache + nginx 和uwsgi+ nginx 哪一个比较好,为什么?
uwsgi和apache有什么区别??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
apache + nginx 和uwsgi+ nginx 哪一个比较好,为什么?
uwsgi和apache有什么区别??
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
uwsgi + nginx 比较好,因为前者是“脱裤子放屁——多此一举”。
写成 uWSGI 比如好。 uWSGI 是一个网关相关的应用服务器,而 apache 是 web 服务器。
uWSGI 支持 uwsgi, wsgi 网关协议(fastcgi 同样是一种网关协议),你写的代码,就是通过某种网关协议与 uWSGI 搞在一起的。(uWSGI 加载你的代码)这方面的理解,你可以去通过了解最简单的 CGI 协议来看看,它们道理是一样的。只是 uWSGI 在实现网关协议的基础上,还搞了进程管理这些额外功能。
apache 这种 web 服务器,它的主要功能是实现 HTTP 服务端协议,及基于 HTTP 协议的相关功能实现,比如不同的 Host 头对应不同的后端配置,不同的 path 对应不同的配置,缓存(头怎么响应)等等,都是 HTTP 协议相关的内容,也都是 apache 这些 web 服务器的功能范围。当然,这些 web 服务器也许自己可以直接支持某些网关协议,甚至直接支持某些语言的代码,这种情况, web 服务器中直接运行应用是可能的。
好了,现在的问题是, uWSGI 与 apache 之间又怎么连接呢?最简单的方式,就是使用 HTTP 协议,这种配置下,前面的 apache 就像是一个简单的“反向代理服务器”一样的角色了。
另外, web 服务器的选择,个人建议还是选 nginx ,简单,轻量。
你可以试试gunicorn+supervisor+nginx.
gunicorn是Python实现的的Web server,配置也比较简单。
supervisor也是Python实现的,它用于进程管理。
这两个都是可以直接pip安装的。
你这问题问的有问题,我只听过apache+wsgi和nginx+uwsgi
至于你说有什么区别,你可以参考apache和nginx的优缺点
http://www.cnblogs.com/huangy...
建议使用nginx配合uwsgi,因为apache的mod_wsgi对python支持不怎么好。