2012-01-10 63 views
10

我最近转而使用Django开发了一个正在开发的网络应用程序,并按照Heroku的说明获取在Heroku上运行的Django应用程序。我有一个开发我的应用程序的虚拟环境,我使用git进行版本控制并推送到Heroku。上面的链接表明我intall炮弹:在heroku上为我的django应用程序安装gunicorn有什么好处?

上面的例子使用Django的默认HTTP服务器。对于 制作应用程序,您可能希望使用更具生产功能的嵌入式网页服务器,例如Tornado,gevent的WSGI服务器或Gunicorn。

然后他们走过安装Gunicorn的用户。

我的问题是:如果我跳过这一步,并保持默认状态,可能遇到什么问题? Gunicorn会给我什么好处?

回答

12

Gunicorn生产准备就绪,非常易于使用。我用它来做我的网站。你通常应该通过像Nginx这样的反向代理来运行它。我不确定Heroku使用的是什么。你真的应该尝试一下。

根据我的经验,使用和配置比apache & mod_wsgi和其他类似的设置要容易得多。

编辑/更新: 正如下面的评论的摘要,Heroku上已经使用的Nginx作为反向代理

+1

支付任何机会,您可以简要解释什么是“反向代理”?如果我不使用Nginx,有什么危险? – Deonomo 2012-01-10 19:14:35

+0

我正在阅读有关它:http://en.wikipedia.org/wiki/Reverse_proxy – Deonomo 2012-01-10 19:15:25

+0

这[博客文章](http://ericholscher.com/blog/2010/aug/16/lessons-learned- dash-easy-django-deployment /)是我学习关于gunicorn和nginx并被吸引的地方。反向代理可以保护您免受某些类型的拒绝服务攻击,并且nginx也可以用于非常有效地托管静态文件。当你在你的gunicorn配置中添加一个ip和端口号时,它是你分配的IP还是一个内部ip(127.0.0.1)? Heroku可能已经在做某种代理了。我不知道它是如何工作的 – 2012-01-10 20:02:22

7

更好的性能,也许更好的安全性和稳定性。 Django的开发Web服务器(默认情况下由Heroku使用)并非真正为服务于生产应用程序而设计。

+0

谢谢。在这种情况下,我将尝试设置我的应用程序来运行gunicorn。不过,我希望这不需要我开始支付heroku,因为我仍处于发展的早期阶段。 – Deonomo 2012-01-10 18:27:47

+0

@Deonomo不,您不必为使用Gunicorn – chhantyal 2013-10-24 22:50:25

相关问题