小编Tim*_*her的帖子

通过Gunicorn/Nginx使用Django的站点框架运行多个站点

我有一个基于Django的CMS,它使用Django的站点框架和Nginx/Apache/mod_wsgi虚拟主机来运行不同域上的许多网站.我们正在评估Django堆栈的其他选项,并让CMS 在新服务器上运行单个站点,Nginx代理Gunicorn(具体来说是gunicorn_django).

虽然这对单个站点很有用,但我不确定如何为多个站点配置Gunicorn.问题是,使用Apache/mod_wsgi,我们可以将DJANGO_SETTINGS_MODULEfor mod_wsgi 设置为适当的站点settings.py

import os, sys

def inflight(filename):
    """
    Calculate absolute path to the folder containing "myfile.wsgi", then
    append to the PYTHONPATH.
    """
    ROOT = ('/').join(os.path.abspath(os.path.dirname(filename)).split('/')[0:-1])
    sys.path.append(ROOT)
    sys.path.append(os.path.join(ROOT, 'website'))

    sys.stdout = sys.stderr
    # Each website should have a settings file: /www/mysite.com/website/settings.py
    os.environ['DJANGO_SETTINGS_MODULE'] = 'website.settings'
    import django.core.handlers.wsgi
    return django.core.handlers.wsgi.WSGIHandler()
Run Code Online (Sandbox Code Playgroud)

目前我认为我必须为我们运行的每个虚拟主机站点安装一个不同的Gunicorn实例,但这对我们大多数站点的流量来说似乎有点过分.

有没有人用Django的网站框架运行Gunicorn并且可以暗示它是如何配置的?

apache django nginx

4
推荐指数
1
解决办法
3724
查看次数

标签 统计

apache ×1

django ×1

nginx ×1