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/"

설정을 바꿔서 더 깔끔하게 세팅할 수 있는 방법을 여전히 찾고 있다.

Blog Logo

Ki Sung Bae


Published

Image

Gsong's Blog

Developer + Entrepreneur = Entreveloper

Back to Overview