После запуска проекта под NGINX + uWSGI вместо простого python runserver
– в админпанели не загружаются стили, не отображаются иконки и другие статичные файлы:
Ниже – одно из (!) решений, которое поможет решить эту проблему.
Находим корневой каталог модуля Django:
$ python -c " > import sys > sys.path = sys.path[1:] > import django > print(django.__path__)" ['/usr/local/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django']
Статичные файлы для админпанели расположены в contrib/admin/static/admin/
:
# ls -l /usr/local/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django/contrib/admin/static/admin/ total 12 drwxr-xr-x 2 root root 4096 May 6 16:17 css drwxr-xr-x 3 root root 4096 May 6 16:17 img drwxr-xr-x 3 root root 4096 May 6 16:17 js
Создаём алиас /static/
в NGINX:
location /static/ { alias /usr/local/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django/contrib/admin/static/; expires modified +1w; }
Проверяем конфиг NGINX:
# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Перезапускаем его:
# service nginx restart Stopping nginx: [ OK ] Starting nginx: [ OK ]
Готово.