Ich habe Lighttp konfiguriert, um Django über Fastcgi auf Ubuntu zu starten und zu bedienen. Wenn ich nur eine einzige Seite aktiviert habe (über den Apache-ähnlichen conf-available, conf-enabled-Mechanismus von ubuntu), läuft alles wunderbar. Wenn ich eine zweite Website aktiviere, scheinen meine URL-Umschreibungen nicht mehr ordnungsgemäß zu funktionieren, obwohl die fcgi-Prozesse gestartet werden und Daten bereitstellen. Hier ist meine Konfiguration:Django in Lighttpd + FCGI auf Ubuntu - Neuschreiben funktioniert nicht mehr, wenn ich eine zweite Site aktiviere
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",
)
Wenn ich den zweiten Standort ermöglichen, alles ist identisch mit der Ausnahme, dass jetzt gibt es eine zweite Verbindung zu einer (leicht modifizierte) Kopie von 10-example.conf
in conf-aktiviert. Wenn dies geschieht, nicht meine Seiten mit diesem django-served Fehler:
Page not found (404)
Request Method: GET
Request URL: http://example.com/django.fcgi/[the url I requested]
Ich bin nicht sicher, warum eine andere Website ermöglichen sollte die bestehende Einrichtung brechen. Ich glaube, dass die Host-basierte Syntax alle Änderungen an diesem spezifischen Host isolieren sollte, aber das scheint nicht der Fall zu sein.
Ja, das hatte keine Wirkung. –
Behalte es da, denn das ist sowieso nötig;) – jpic
Das hat bei mir funktioniert! Vielen Dank! –