【发布时间】:2015-02-28 10:59:04
【问题描述】:
我目前正在使用 mod wsgi 运行 50 多个 Django 安装,并注意到 apache 并没有丢弃内存(所以它只是保持越来越多的内存,然后随着交换磁盘的填满,站点会停止运行)。我还在这些服务器上托管了一些 PHP 站点。
当前的 wsgi 配置如下所示:
WSGIScriptAlias / /var/www/vhosts/glenlivet/tar/src/core/wsgi.py
WSGIDaemonProcess tar.sljol.info python-path=/var/www/vhosts/glenlivet/tar/src:/var/www/vhosts/.virtualenvs/glenlivet/lib/python2.7/site-packages
<Location />
WSGIProcessGroup tar.sljol.info
</Location>
我不是这种配置的专家,谁能建议如何最好地设置每个虚拟主机?
谢谢
【问题讨论】:
-
确保您一开始没有使用 Apache 2.2 和旧的 mod_wsgi 版本。 Apache 2.2 存在内存增长问题,该问题已在 Apache 2.4 中修复。与 Linux 发行版提供的旧版本相比,较新的 mod_wsgi 版本还提供了解决 Apache 2.2 问题的解决方法,以及减少 Apache 使用的内存的其他改进。
-
感谢 Graham,我正在运行:服务器版本:Apache/2.4.7 (Ubuntu) 服务器构建:2014 年 7 月 22 日 14:36:38 和来源:mod-wsgi 版本:3.4-4ubuntu2。 1.14.04.2
-
如果您使用慢速 HTTP 客户端处理大文件上传或下载,由于仍在使用 mod_wsgi 3.4,您仍然会看到内存使用量过多。
-
不是特别大,没有。我已经设法阻止这些站点保留过多的内存。我想我将考虑使用 Django 技术将这些站点聚集在一起。如果我想拥有多个 Vhost,但让它们使用相同的进程池,这可能吗?
-
如果您正在谈论使用 Django 站点框架,这在某些情况下会有所帮助。 docs.djangoproject.com/en/1.7/ref/contrib/sites
标签: python django apache mod-wsgi