我有一台配备48GB内存的DigitalOcean Debian 7服务器,运行Django 1.7应用程序。我想添加一个缓存来加速应用程序:我不希望流量非常高,但是应用程序背后有一个大型数据库,即使经过大量的数据库优化,查询也会非常繁重。
我已成功将服务器设置为in this article。据我了解那里的设置,Django应用程序配有gunicorn,如果服务器重新启动,supervisord将自动重启。并且Nginx位于所有内容之前,为/static
和/media
提供文件,并指向Django应用程序以查找/
处的文件。 (这就是我理解文章中的设置的方法,但如果我错了,请纠正我。)
我现在的问题是如何将Varnish缓存添加到此设置中以加快速度。
我一直在阅读有关相关设置的this tutorial,似乎我的方法应该如下:
这是将Varnish添加到此设置的正确方法吗?
答案 0 :(得分:2)
我建议把Varnish放在nginx和gunicorn之间。通过这种方式,nginx可以提供静态资产。
我主要使用uWSGI而不是gunicorn。他们有一个最佳实践: http://projects.unbit.it/uwsgi/wiki/Example#varnish
另外请注意,Varnish不会在其中缓存带有cookie的请求。请参阅:http://chase-seibert.github.io/blog/2011/09/23/varnish-caching-for-unauthenticated-django-views.html