Bootstrap css не удалось загрузить ресурс, ошибка 404

Во-первых, извините за название.

Я развернул свое фляжное приложение через дроплет Digital Ocean, но возникла проблема, когда начальная загрузка не загружалась. Я уже искал в Интернете эту проблему и пробовал несколько способов, но не работал.

Ниже приведен фрагмент моего кода.

index.html

<!DOCTYPE html>
<head>
....
....
<link rel="icon" href="../static/icon/favicon.ico">
<link href="../static/css/bootstrap.min.css" rel="stylesheet">
<link href="../static/css/jumbotron.css" rel="stylesheet">
...
...
</head>

ссылка для значка отлично работает, а для файла css - нет.

просмотры.py

@app.route('/')
def index():
    return render_template('index.html')

/etc/nginx/сайты доступны/webapptest

server {
    listen 80;
    server_name <droplet_ip_address>;

    location / {
        include uwsgi_params;
        uwsgi_pass unix:/home/user1/project/webapptest/webapptest.sock;

    }
    location ^~ /static {
        root home/user1/project/webapptest/app/static;
    }

}

Я следую этому руководство по размещению моего приложения в digitalocean. Я надеюсь, что, возможно, кто-то из вас поможет мне решить эту проблему. Я считаю, что должен был что-то оставить из этого кода, но я не знаю, где.

Ошибка выглядит так, когда я проверял с помощью инструментов разработчика в Google Chrome:

failed to load resource:the server responded with a status of 404 (Not Found) http://<droplet ip address>/static/css/bootstrap.min.css 

Спасибо за помощь.


person Ling    schedule 14.11.2016    source источник
comment
Если вы настроены на хостинг начальной загрузки, это нормально (хотя вы, вероятно, доставите его медленнее, чем CDN). Директиве root нужен абсолютный путь к каталогу, поэтому ваш должен читаться как /home/user1/project/webapptest/app/static; (обратите внимание на начальный слэш), затем вам понадобится директива try_files, чтобы сообщить NGINX, что нужно попробовать как файл, а затем как каталог , а затем вернуться к чему-то try_files $uri $uri/ @fallback; Другой способ обойти это — использовать alias вместо root, например alias /home/user1/project/webapptest/app/static/; (обратите внимание на косую черту в начале и в конце)   -  person Keenan Lawrence    schedule 14.11.2016


Ответы (1)


Не совсем уверен, что там происходит, но не было бы проще просто загрузить загрузчик из бесплатного CDN, такого как Maxi или jsDevlivr? В прошлый раз, когда у меня было что-то подобное, я не загружал на сервер минифицированные версии.

изменить href на >

https://cdn.jsdelivr.net/bootstrap/3.3.7/css/bootstrap.min.css

Если вам нужна какая-то другая версия, просто измените 3.3.7 на нужную вам версию.

person Kimmo Hintikka    schedule 14.11.2016
comment
извините за поздний ответ, я попробовал ваше предложение, заменив путь href на ссылку и перезапустив nginx с сервера, но ничего не произошло. веб-страница по-прежнему не загружала css. Я делаю это неправильно? спасибо за помощь - person Ling; 21.11.2016