LINUX.ORG.RU

Проблемы с nginx

 ,


0

1

Добрый день.

Проблема с nginx..

Все работает кроме одного. Я хочу чтобы при обращении на example.com был мой лендинг, а при обращении на example.com/.. был Django.

Сейчас при обращении к example.com пишет 404 The requested URL /index.html was not found on this server.

Как мне это дело наладить?

Вот мой файл настройки

upstream django_server {
      server unix:/home/ubuntu/my_server/run/gunicorn.sock fail_timeout=0;
}

upstream tornado_server {
        server 127.0.0.1:8890;
        server 127.0.0.1:8891;
        server 127.0.0.1:8892;
}

server {

    listen 80 default_server;

        server_name example.com;

        server_tokens off;
        default_type application/json;
        keepalive_timeout 65;
        proxy_read_timeout 60;
        tcp_nodelay on;
        proxy_next_upstream error;
        client_max_body_size 5m;

        gzip on;
        gzip_http_version 1.0;
        gzip_comp_level 2;
        gzip_proxied any;
        gzip_min_length  1000;
        gzip_buffers 16 8k;
        gzip_types *;

# Landing
        location = / {
                root /home/ubuntu/landing_page;
                index index.html index.htm;
     }
        location /assets/.. {
                alias /home/ubuntu/landing_page/assets;
     }

# Doc
        location /docs {
                index index.html index.htm;
                auth_basic "restricted";
                auth_basic_user_file /home/ubuntu/.htpasswd;
                alias /home/ubuntu/my_server/docs/build/html;
        }

# Tornado
        location = /api/v1.0/connect {
                proxy_pass http://tornado_server;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header Host $http_host;
                proxy_redirect off;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Scheme $scheme;
        }

# Dajango
        location /static/ {
                alias   /home/ubuntu/my_server/_static/;
        }
        location / {
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_redirect off;
                proxy_pass http://django_server;
        }

}

Ответ на: комментарий от beastie

Так? не работает..

        location / {
                try_files $uri @app;
                root /home/ubuntu/landing_page;
                index index.html index.htm;
     }

        location @app {
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_redirect off;
                proxy_pass http://django_server;
        }
Closius ()
Ответ на: комментарий от l0stparadise

Надо / было добавить после $url

        root /home/ubuntu/landing_page;
        index index.html index.htm;

        location / {
                try_files $uri/ @app;
     }

Closius ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.