Django na Lighttpd + FastCGI

Posted by Jarosław Zabiełło Wed, 31 May 2006 21:16:00 GMT

Okazuje się, że uruchomienie Django na serwerze Lighttpd i FastCGI nie jest wcale trudne. Taki zestaw pożera znacznie mniej zasobów komputera niż Apache i mod_python. Efekt dostępny jest tutaj. Projekt Django został stworzony w /home/django_project. Użyłem Django w wersji SVN (pozbawionej “magii”), MySQL 5, Python 2.4.3 oraz system to Debian 3.1. Cała konfiguracja to:

Plik lighttpd.conf (aktualny):

$HTTP["host"] == "koran.apologetyka.com" {
  server.document-root = "/home/django_project/koran/public"
  url.rewrite-once = (
    "^/(media|stylesheets|images|javascripts).*" => "$0",
    "^/admin/(.*)$" => "/django-admin.fcgi/admin/$1",
    "^/(.*)$" => "/django.fcgi/$1"
  )
  fastcgi.server = (
    "/django.fcgi" => (
      (
        "bin-path" => "/home/django_project/django.fcgi",
        "socket" => "/tmp/django.sock",
        "check-local" => "disable",
        "min-procs" => 1,
        "max-procs" => 1,
      )
    ),
    "/django-admin.fcgi" => (
      (
        "bin-path" => "/home/django_project/django-admin.fcgi",
        "socket" => "/tmp/django-admin.sock",
        "check-local" => "disable",
        "min-procs" => 1,
        "max-procs" => 1,
      )
    )
  )
  server.error-handler-404 = "/django.fcgi"
}
Plik django.fcgi:
#!/usr/local/bin/python2.4
import os, sys
sys.path += ['/home'] 
from flup.server.fcgi import WSGIServer
from django.core.handlers.wsgi import WSGIHandler
os.environ['DJANGO_SETTINGS_MODULE'] = 'django_project.settings'
WSGIServer(WSGIHandler()).run()

Później opiszę dokładniej sam kod Django.

Posted in  | Tags , ,  | 4 comments

Comments

  1. Avatar Adamh said about 12 hours later:

    Samej aplikacji przydaloby sie zawezanie wynikow wyszukiwania do np 100 i stronicowanie. Jezeli kilka osob jednoczesnie wpisze w wyszukiwarce jedna litere i otrzyma po 6K odpowiedzi to moze unieruchomic serwer.

  2. Avatar Jarosław Zabiełło said 3 days later:

    Słusznie. Zmiany naniesione.

  3. Avatar vbert said about 1 year later:

    Witam!

    Czy mógłbyś podać treść pliku: django-admin.fcgi ?

    Dobrze byłoby również wyjaśnić dokładniej co z panelem admina, na razie nie udało mi się go uruchomić :(

  4. Avatar vbert said about 1 year later:

    Said about 1 year later ?!

(leave url/email »)

   Comment Markup Help Preview comment