جانغو في لايت باد + FCGI على أوبونتو - يعيد كتابة تتوقف عن العمل عندما تمكن الموقع الثاني
سؤال
ولقد حصلت lighttp تكوين لبدء وخدمة جانغو عبر fastcgi على أوبونتو. عندما وليس لدي سوى موقع واحد تمكين (عبر آلية تمكين أسيوط، أسيوط المتاحة مثل اباتشي أوبونتو)، ويعمل كل شيء جميل. عندما كنت تمكين الموقع الثاني، ويبدو لي يعيد كتابة عنوان الموقع عن العمل بشكل صحيح، على الرغم من بدأ العمليات FCGI وخدمة البيانات. وهنا التكوين لي:
و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
في تمكين أسيوط. وعندما يحدث ذلك، بلدي المواقع تفشل مع هذا الخطأ يخدم جانغو:
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=""