2012-12-19 9 views
5

Я работал над обслуживанием приложения Django с сервера Ubuntu. Я выполнил все инструкции в http://senko.net/en/django-nginx-gunicorn/, но когда я доберусь до этапа gunicorn_django -b 0.0.0.0:8000, сайт внезапно прекратит обслуживать статические файлы. Сайт отлично работает с помощью dev-сервера python manage.py runserver 0.0.0.0:8000.gunicorn не обслуживает статические файлы

Я не изменил настройки запасов для чего-либо. Любые идеи, почему это не работает?

EDIT:

После выполнения остальной части руководства и советы Andrew Gorcester, я добавил

location /static { 
    root /path/to/static/files; 
} 

в мой файл Nginx sites-available, и все, кажется, работает!

+0

Просто для подтверждения: вы запускаете как nginx, так и gunicorn, а затем указываете свой веб-браузер на порт 80 на localhost (а не на порт 8000), правильно? –

+0

У меня вообще нет nginx. Я получаю свой полный сайт, когда указывается на мой URL: 8000, когда я запускаю команду 'manage.py'. –

+1

Хорошо, я отвечу, чтобы дать более подробную информацию. –

ответ

5

Gunicorn не является универсальным веб-сервером, все, что он делает, служит приложению (django в этом случае). И django не обслуживает статические файлы, кроме разработки, для удобства разработчика, поскольку он не является эффективным или обязательно защищенным средством для обслуживания статических файлов.

Если вы следуете инструкциям полностью, вы должны настроить nginx на порт 80, который будет: 1) проксировать ваше приложение с порта 8000 на порт 80 и 2) обслуживать статические файлы на одном и том же порту, выбрав, что делать по запросу на основе URL.

Не вызывает тревогу, что статические файлы не работают на порту 8000 - в этой конфигурации они должны работать только на порту 80, как только nginx будет правильно настроен. Существуют другие возможные конфигурации для django с другими стратегиями для обслуживания статических файлов, хотя большинство из них следуют рекомендуемому соглашению об обслуживании статических файлов, полностью отделенных от приложения, как в этом случае.

 Смежные вопросы

  • Нет связанных вопросов^_^