Nginx和两个Django项目

时间:2014-05-04 11:02:10

标签: django nginx gunicorn

我想在我的VPS中设置两个不同的Django项目 - 有两个不同的Gunicorn实例(两个不同的virutalenvs)。第一个项目完美运作:

第一个项目的Nginx:

server {
server_name 95.85.34.87;

access_log off;
    sendfile off;

location /static/ {
    root Lynx/lynx/lynx_static_files/;
}

location / {
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Methods "GET,POST,OPTIONS";
    add_header         Access-Control-Allow-Headers   Content-Type;
    add_header         Access-Control-Max-Age         86400;
    proxy_pass http://127.0.0.1:8001;
    proxy_set_header X-Forwarded-Host $server_name;
    proxy_set_header X-Real-IP $remote_addr;
    add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
}
}

Gunicorn的第一个项目:

gunicorn_django --bind localhost:8001

第二个项目的Nginx:

server {
server_name 95.85.34.87:8002;

access_log off;
    sendfile off;

location /static/ {
    root Komodo/komodo/komodo_static_files/;
}

location / {
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Methods "GET,POST,OPTIONS";
    add_header         Access-Control-Allow-Headers   Content-Type;
    add_header         Access-Control-Max-Age         86400;
    proxy_pass http://127.0.0.1:8002;
    proxy_set_header X-Forwarded-Host $server_name;
    proxy_set_header X-Real-IP $remote_addr;
    add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
}
}

Gunicorn第二个项目:

gunicorn_django --bind 95.85.34.87:8002

问题95.85.34.87显示我的第一个带有静态文件的项目(一切正常),95.85.34.87:8002也有效(Gunicorn正在运行),但遗憾的是Nginx无法提供服务出于某种原因,第二个项目的静态文件。我认为问题背后的原因是server_name设置,但我不知道如何设置它来显示第二个项目的静态。

1 个答案:

答案 0 :(得分:0)

我解决了我的问题。我刚刚将我的第二个Project的Gunicicorn实例绑定到95.85.34.87,而不是localhost:8002(与项目1相同,但是端口不同)。