Я настраиваю среду с помощью приложения django (проект с открытым исходным кодом askbot), gunicorn и nginx. С nginx и gunicorn в разных контейнерах Docker.
Это моя конфигурация nginx.
server {
listen 80;
location /static {
alias /askbot/static;
}
location /m {
alias /askbot/static;
}
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://askbot:8080/;
}
}
Если я запускаю приложение django в режиме отладки, все в порядке, я могу пройти через nginx иЯ вижу, как nginx вызывает gunicorn только для динамического контента, а статический контент разрешается локально.
Но когда я запускаю приложение django с debug false, nginx не вращает статический контент, и если яПосмотрите исходный код для веб-страницы, я вижу, что все пути для статического содержимого были изменены, используя что-то вроде «/ m / CACHE ...». Я полагаю, что это причина того, что nginx больше не может разрешать статическое содержимое.
Например, если использование режима отладки равно true, это один фрагмент исходного HTML-кода.
<link rel="stylesheet" href="/m/CACHE/css/9275d0e5b87f.css" type="text/css" /> <link href="//fonts.googleapis.com/css?family=Open+Sans+Condensed:700&subset=latin-ext" rel="stylesheet" type="text/css" /> <link href="//fonts.googleapis.com/css?family=Open+Sans+Condensed:700&subset=cyrillic-ext" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="/m/default/media/jslib/modernizr.custom.js?v=1"></script> <script type="text/javascript">
И когда работа с debug равна false, тот же фрагмент выглядит так.
<link href="/m/default/media/style/style.css?v=1" rel="stylesheet" type="text/css" /> <link href="/m/default/media/fa-4.3.0/css/font-awesome.css?v=1" rel="stylesheet" type="text/css" /> <link href="/m/default/media/bootstrap/css/bootstrap.css?v=1" rel="stylesheet" type="text/css" /> <link href="//fonts.googleapis.com/css?family=Open+Sans+Condensed:700&subset=latin-ext" rel="stylesheet" type="text/css" /> <link href="//fonts.googleapis.com/css?family=Open+Sans+Condensed:700&subset=cyrillic-ext" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="/m/default/media/jslib/modernizr.custom.js?v=1"></script> <script type="text/javascript">
Я обхожу это вокруг в течение двух дней, может кто-нибудь объяснить мне, почему это происходит и как это можно исправить?, Настройкаnginx по-другому, или отключение django для такого поведения.
Заранее спасибо, Эстебан Кольядо