Ubuntu의 lighttpd + fcgi의 django- 두 번째 사이트를 활성화 할 때 작동 중지를 다시 작성합니다.
문제
Ubuntu의 FastCGI를 통해 Django를 시작하고 제공하도록 LightP가 구성되었습니다. Ubuntu의 Apache와 같은 Confavailable, Conf-inabled 메커니즘을 통해 단일 사이트 만 활성화 된 경우 모든 것이 아름답게 실행됩니다. 두 번째 사이트를 활성화하면 FCGI 프로세스가 시작되고 데이터를 제공하지만 URL 재 작성이 올바르게 작동하지 않는 것 같습니다. 내 구성은 다음과 같습니다.
conf-available/10-example.conf
$HTTP["host"] == "example.com" {
var.virt_name = "example"
include "includes/incl-fastcgi.conf"
}
includes/incl-fastcgi.conf
global {
server.modules += ("mod_rewrite",
"mod_fastcgi")
}
var.site_folder = "/" + virt_name
var.site_root = server_root + site_folder
var.socket = server_root + "/.handles/" + virt_name + ".socket"
server.document-root = site_root
fastcgi.server = (
"/django.fcgi" => (
"main" => (
"socket" => socket,
"bin-path" => "/etc/lighttpd/scripts/fcgi.sh",
"bin-environment" => ( "VIRT" => virt_name, ),
"check-local" => "disable",
"min-procs" => 1,
"max-procs" => 1,
"allow-x-send-file" => "enable",
),
),
)
alias.url = (
"/media/admin" => "/usr/share/python-support/python-django/django/contrib/admin/media", #why the hell does it live here?
)
url.rewrite-once = (
"^(/media.*)$" => "$1",
"^/favicon\.ico$" => "/media/favicon.ico",
"^/robots\.txt$" => "/robots.txt",
"^(/.*)$" => "/django.fcgi$1",
)
두 번째 사이트를 활성화 할 때, 이제는 (약간 수정 된) 사본에 대한 두 번째 링크가 있다는 점을 제외하고는 모든 것이 동일합니다. 10-example.conf
Conf-enabled에서. 이런 일이 발생하면 내 사이트 가이 장고 서비스 오류로 실패합니다.
Page not found (404)
Request Method: GET
Request URL: http://example.com/django.fcgi/[the url I requested]
다른 사이트를 사용하여 기존 설정을 중단 해야하는 이유는 확실하지 않습니다. 호스트 기반 구문은 해당 특정 호스트의 변경 사항을 분리해야한다고 생각하지만 그렇지 않은 것 같습니다.
해결책
미래의 누군가 가이 질문을 살펴보면, 나는 그 대답이 버전 1.4.20 이상에 고정되어 있고 서버가 v1.4.19를 실행하고 있다는 것입니다.
다른 팁
당신은 설정 했습니까? force_script_name settings.py에서 "" "?
FORCE_SCRIPT_NAME=""
제휴하지 않습니다 StackOverflow