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/"
설정을 바꿔서 더 깔끔하게 세팅할 수 있는 방법을 여전히 찾고 있다.