Приложение django хорошо работает на Ubuntu 14.04/nginx 1.10/django 1.10.2/uwsgi 2.0.14, оно также может загружать статические файлы (js, css, images), но css файлы не распространяются на мой сайт. Ниже приведена моя конфигурация.Развертывание статических файлов django в процессе производства
Структура приложения
example.com/
├── example.com
├── static (generated by collectstatic)
│ └── css
│ └── js
│ └── images
├── templates
└── website
└── static (django collected from)
установка uwsgi example.com.ini
[uwsgi]
...
socket=/var/www/example.com/uwsgi.sock
chdir=/var/www/example.com
chmod-socket=664
...
nginx.conf
server {
listen 80 default_server;
server_name example.com;
charset utf-8;
access_log /var/log/nginx/access.log;
error_page 404 /var/www/example.com/template/404.html;
error_page 500 502 503 504 /var/www/example.com/template/500.html;
location/{
uwsgi_pass unix:///var/www/example.com/uwsgi.sock;
include uwsgi_params;
}
location /static/ {
alias /var/www/example.com/static/;
}
}
setting.py
INSTALLED_APPS = (
...
'django.contrib.staticfiles',
...
)
STATIC_ROOT = os.path.join(BASE_DIR, "static")
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "website/static"),
)
STATICFILES_FINDERS = [
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
...
]
STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'
После запуска ./manager collectstatic
, я могу получить доступ .css файлы, нажав на исходный путь от веб-страницы в браузере, а также проверки access.log он также возвращает 200, ни какого-либо error.log производится ,
"GET /static/admin/css/base.a846c0e2ef65.css HTTP/1.1" 200
Статические файлы уже обслуживаются Nginx, я думаю, но это не работает в производстве (работа в runserver
), есть ли конфигурация, которую я пропустил или делать woring, или любое разрешение, которое я должен проверить? Спасибо за помощь.
есть какая-либо ошибка печатается в консоли браузера? – Anurag
Я не уверен, но я думаю, что местоположение для '/ static /' в nginx должно быть: 'alias /var/www/example.com/website/static/;' – ruddra
@Anurag, в консоли браузера нет ошибки, но что я просматриваю папку css на вкладках sources> sources из панели отладки (chrome), файл css существует, но пустой текст, может быть проблема с кешем или? – pqteru