nginx / gunicorn + Django:第三方应用程序集成的子域配置

时间:2017-04-22 14:34:50

标签: django nginx gunicorn subdomain mattermost

我正在建立一个常规的django项目 - 区别在于:

  1. 我希望django网站在指定的子域名仅“工作” - 例如http://www.foo.mydomain.com

  2. 我想使用完全不同的应用程序在另一个指定的子域上运行 - 例如http://www.foobar.mydomain.com

  3. 如何设置django项目,以便它只在特定的子域上运行,并且不拦截对其他子域的请求 - 因此其他其他应用程序可以在同一父域的其他子域上运行?

    [[注1]]

    第二个应用程序(在另一个子域上运行一个django应用程序)。事实上,它是mattermost,我想在其他子域上运行 - 所以我可以将mattermost集成到我的网站中。

    [[注2]]

    我正在使用nginx + gunicorn作为服务器

1 个答案:

答案 0 :(得分:0)

为每个域使用单独的server块。请参阅this document

server {
    server_name www.foo.mydomain.com;
    ...
}
server {
    server_name www.foobar.mydomain.com;
    ...
}

如果找不到server_name匹配,nginx将使用默认服务器。因此,定义一个catch-all服务器块,以防止nginx使用上述服务器块之一。

server {
    listen 80 default_server;
    deny all;
}