Страницы

пятница, 26 марта 2010 г.

Перенос django на боевой lighttpd

Почитали мы маны да и запустили наше djangoapp, как fastcgi приложение....
А lighttpd настроили подобным образом


server.document-root = "/home/user/projects/domain_com"

fastcgi.server = (
"/mysite.fcgi" => (
"main" => (
"host" => "127.0.0.1",
"port" => 2605,
"check-local" => "disable",
)
),
)



alias.url = (
"/media/" => "/usr/lib/python2.5/site-packages/django/contrib/admin/media/",
)

url.rewrite-once = (
"^(/media.*)$" => "$1",
"^(/site_media.*)$" => "$1",
"^/mysite.fcgi(/.*)$" => "mysite.fcgi$1",
"^(/.*)$" =>"/mysite.fcgi$1",
)

Сама django запускается стандартной командой из руководства:

./manage.py runfcgi method=threaded host=127.0.0.1 port=2605 pidfile=mysite.pid

Вроде все работало, но тут решил заглянуть в админку ,которая отказалась работать...Налицо была ошибка в неправильном формировании путей ссылок..Упорно меня кидало куда-то к mysite.fcgi. После гугления нашолся ответ - надо в settings.py переменную FORCE_SCRIPT_NAME установить пустой строкой - и все заработает.
Жирным шрифтом выделил так же подключение css и js файлов админки.Сами по себе как на тестовом они подключаться отказались.