read
Lighttpd 를 웹서버로 사용하고, 동적처리가 필요한 페이지들은 Django 쪽으로 넘겨 처리하려면 이 둘을 fastcgi 로 엮어야 한다.
우선 lighttpd 설정에 아래와 같은 사항을 추가한다.
$HTTP["host"] == "mytestsite.com" { server.document-root = "/var/www" fastcgi.server = ( "/fcgi" => ( "cgicall" => ( "host" => "127.0.0.1", "port" => 3033, "check-local" => "disable", "fix-root-scriptname" => "enable", ) ), ) url.rewrite-once = ( "^(/static/.*)$" => "/fcgi$1", "^(/admin/.*)$" => "/fcgi$1", "^(/accounts/.*)$" => "/fcgi$1", ) }
url.rewrite-once 부분을 저렇게 처리 안하는 방법이 있나 싶어 찾아 봤으나 뾰쪽한 방법이 없는 듯 하다. 깔끔하게 처리하려면 Apache 에 WSGI 로 연동하는 걸 고려해보는 게 나을 지도 모르겠다.
django 프로젝트의 settings.py 에는 다음의 설정을 추가한다.
FORCE_SCRIPT_NAME="/fcgi" LOGIN_URL="/fcgi/accounts/login/"
설정을 바꿔서 더 깔끔하게 세팅할 수 있는 방법을 여전히 찾고 있다.