我最近改用Django进行正在开发的Web应用程序,并遵循说明 Heroku 在Heroku上运行Django应用程序。我有一个虚拟环境,可以在其中开发了我的应用程序,并使用git进行版本控制并推向Heroku。上面的链接表明我intall Gunicorn:

上面的示例为Django使用了默认的HTTP服务器。对于生产应用程序,您可能希望使用更适合生产的嵌入式Web服务器,例如Tornado,Gevent的WSGI服务器或Gunicorn。

然后,他们将用户带走安装枪支。

我的问题是:如果我跳过此步骤并留在默认值下,我会遇到什么问题?枪支会给我什么好处?

有帮助吗?

解决方案

Gunicorn已准备就绪,非常易于使用。我将其用于我的网站。通常,您应该通过诸如NGINX之类的反向代理运行它。我不确定Heroku在使用什么。您真的应该尝试。

根据我的经验,与Apache&Mod_wsgi以及其他类似的设置相比,使用和配置要容易得多。

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

其他提示

性能要好得多,并且可能更好的安全性和稳定性。 Django的开发Web服务器(默认情况下是由Heroku使用的)并非真正旨在为生产应用程序服务。

Django的服务器是开发服务器。它的重量轻且易于使用,但不应在生产中使用,因为它没有准备好生产。它无法处理许多请求。这个 关联 提供了Gunicorn,UWSGI和Django的开发服务器之间的比较。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top