簡體   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