繁体   English   中英

如何配置Nginx,Gunicorn来运行2个具有不同域名的Django服务器

[英]How to configure nginx, gunicorn to run 2 django servers with different domain names

我有运行virtualenv的DjangoServer1和DjangoServer2,其中安装了gunicorn。 nginx安装在Ubuntu中的user下。

我使DjangoServer1在nginx,gunicorn下运行。

伺服器IP:12.12.12.12

DjangoServer1的网站域是mydomain1.com

DjangoServer2的网站域是mydomain2.com

这是DjangoServer1的nginx服务器配置。

在/ etc / nginx的/网站可用/ DjangoServer1

server {
    listen 0.0.0.0:80;
    server_name 127.0.0.1;

    location = /favicon.ico { access_log off; log_not_found off; }

    location /static/ {
            root /home/user/develop/DjangoServer1;
    }

    location / {
            include proxy_params;
            proxy_pass http://unix:/home/user/develop/DjangoServer1/DjangoServer1.sock;
    }
}

我启动DjangoServer1:

1)在virtualenv下,运行gunicorn命令以启动DjangoServer1

gunicorn --daemon --workers 3 --bind Unix:/home/user/develop/DjangoServer1/DjangoServer1.sock DjangoServer1.wsgi

2)然后,运行:

sudo服务nginx重启

3)在路由器中,我将端口80、8000转发到服务器12.12.12.12

4)在浏览器中,输入:12.12.12.12。 DjangoServer1有效。 输入:mydomain1.com,DjangoServer1正常运行。

现在,我想在同一服务器上运行DjangoServer2:12.12.12.12

问题:如何将DjangoServer1和DjangoServer2配置为不同的端口?

如何运行gunicorn命令以使用其他端口? 以下命令使用端口8000? 为什么?

gunicorn --daemon --workers 3 --bind Unix:/home/user/develop/DjangoServer1/DjangoServer1.sock DjangoServer1.wsgi

如何配置nginx文件?

更改您的Gunicorn命令以在指定端口上运行服务器。

gunicorn --daemon --workers 3 --bind :8080 DjangoServer1.wsgi

现在更改您的NGINX conf文件,以将其转发到应用服务器。

upstream django-server-1 {
    server 0.0.0.0:8080;
}


server {
    listen 0.0.0.0:80;
    server_name 127.0.0.1;

    location = /favicon.ico { access_log off; log_not_found off; }

    location /static/ {
            root /home/user/develop/DjangoServer1;
    }

    location / {
            include proxy_params;
            proxy_pass http://django-server-1;
            proxy_next_upstream off;
    }
}

重新启动您的NGINX服务。

这会将所有到达80端口的请求转发到应用程序服务器DjangoServer1

如果您明确希望将到达8080请求转发到您的应用程序服务器,请在NGINX配置中更改server块,或者使用您的规则创建一个新的服务器块。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM