Ускоряем работу debug-сервера
Django debug сервер, который запускается через ./manage.py runserver, работает достаточно неторопливо. Это особо ощущается, когда он обслуживает запросы к статике. Конечно, такой подход удобен тем, что при разработке не нужно поднимать каких-то дополнительных серверов, но иногда эта канитель начинает раздражать. Дабы не тратить попусту нервы и время, можно возложуть груз ответственности за статику на плечи _____ (вписать имя вашего любимого веб-сервера).
Для начала создадим в /etc/hosts строку: 127.0.0.1 foobar.local
Далее, в settings_local.py пропишем:
MEDIA_URL = 'http://foobar.local/media/'
STATIC_URL = 'http://foobar.local/static/'
Потом идём в конфиг nginx и создаём новый сервер:
server {
server_name .foobar.local;
root /web/foobar; # это корень проекте, вернее каталога где лежит static каталог
location /static {}
location /favicon.ico {}
location / {
proxy_pass http://localhost:8000;
}
}
Теперь запускаем debug сервер и радуемся — все запросы на статику обрабатываются боевым сервером :-)






Comments
Может надо было сразу вписать nginx? :)
Вписать nginx и скомпелировать? =))
… nginx порт не откроет если на нем уже сидят ;-)
Ой, а почему я “admin”? Вроде писал antazy… ))
Что-то или кто-то глючит :-)
Интересно а с регекспами nginx нельзя сделать так скажем чтобы в nginx.conf не лазить?
Если правда интересно, то этот вопрос лучше задать в рассылке nginx: http://sysoev.ru/nginx/docs/maillists.html
Не, если бы интересно, я б сам в доках прорылся бы :)
А так просто мысль, если действительно много разных проектов со статикой, можно ли обойтись хитрым конфигом?
Nginx пока хитрые конфиги не поддерживает. Каждый раз приходиться ручками писать :(
freelance writer