在nginx上的同一个ip上运行两个不同的django-cms应用程序,这些应用程序具有不同的域

时间:2014-05-31 12:11:08

标签: python django nginx dns django-cms

我想要两个主机两个不同的django-cms应用程序,在一台服务器上使用不同的域,运行nginx的ip地址相同。

我已经找到了这个相关的问题,但我怎么也无法将解决方案转换为我的python应用程序:Nginx Different Domains on Same IP

我已经在端口7000上使用uwsgi运行第一个django-cms应用程序,并通过nginx提供服务。

现在我想在端口9000上使用uwsgi添加第二个django-cms apllication,用于我当前nginx配置的不同域。

我尝试将第二个uwsgi应用程序添加到nginx中的上游app_servers部分,但这不起作用并导致错误。

这是我目前的nginx配置:

worker_processes 1;

events {

    worker_connections 1024;

}

http {

    types_hash_max_size 2048;   
    include /etc/nginx/mime.types;
    sendfile on;

    gzip              on;
    gzip_http_version 1.0;
    gzip_proxied      any;
    gzip_min_length   500;
    gzip_disable      "MSIE [1-6]\.";
    gzip_types        text/plain text/xml text/css
                      text/comma-separated-values
                      text/javascript
                      application/x-javascript
                      application/atom+xml;

    # Configuration containing list of application servers
    upstream app_servers {

        server 127.0.0.1:7000;
        #server 127.0.0.1:9000;
        # ..
        # .

    }

    # Configuration for Nginx
    server {

        # Running port
        listen 80;
    server_name www.myfirstdomain.at;

        # Settings to serve static files 
        location ^~ /static/  {

            # Example:
            # root /full/path/to/application/static/file/dir;
            alias /webapps/first-django-cms-app/static/;

        }

        # Serve a static file (ex. favico)
        # outside /static directory
        location = /favico.ico  {

            root /app/favico.ico;

        }

        # Proxy connections to the application servers
        # app_servers
        location / {

            include       /etc/nginx/mime.types;        
            proxy_pass         http://app_servers;
            proxy_redirect     off;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Host $server_name;

        }
    }
}

如何更改我的nginx配置以实现此目的?

1 个答案:

答案 0 :(得分:2)

您需要两个server - 具有不同服务器名称的部分和两个具有不同名称的upstream部分,例如app_server_1app_server_2