我希望在我的VPS上运行一些Django站点,nginx作为它的前端。我在mod_python和Apache上遇到了一些问题,每当流量开始增加时,站点就会开始出错,因为它只是对每个请求使用了太多的内存。所以我做了一些研究,发现mod_python确实不是我买一个小型VPS的最佳选择。
我的安装程序使用nginx提供静态文件(javascript、css、映像),并使用memcached缓存Apache“生成”的页面,从而大幅减少对Apache后端的请求,但它仍然在运行mod_python,昨天我仍然有一些人说,他们毫无理由地收到了500个错误。
我想要做的是现在使用FastCGI来运行Django,我已经读到它可以用较少的RAM来处理更高的流量,但是它的配置对我来说有点奇怪;我一点也不精通其中的一些术语。我主要要考虑的是这些选择:
maxspare=NUMBER max number of spare processes / threads
minspare=NUMBER min number of spare processes / threads
maxchildren=NUMBER hard limit number of processes / threads
method=IMPL prefork or threaded (default prefork)任何帮助,以确定我应该把这些设置,将非常感谢。我还想知道它提到的这些进程如何/是否与nginx工作进程相关。服务器托管了4个网站,这些网站通常每天处理几千次点击,但它们都倾向于与大多数流量相同的时间被点击,而这正是问题开始的时候。
此外,我还读到了一些关于使用龙卷风作为Django的WSGI服务器的文章。这可能是更好的解决办法吗?谢谢!
发布于 2011-04-28 16:25:23
我知道这是一个老生常谈的问题,但为了防止其他人出现这种情况,现在在apache上安装Django的推荐方法是使用mod_wsgi:
使用Apache和mod_wsgi部署Django是让Django投入生产的推荐方法。mod_wsgi是一个Apache模块,可以用来托管任何支持Python接口的Python应用程序,包括Django。Django将使用支持mod_wsgi的任何版本的Apache。
https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/modwsgi/
https://serverfault.com/questions/91381
复制相似问题