Version 33 (modified by 17 years ago) ( diff ) | ,
---|
Server arrangements
Because Django uses WSGI, it can run on any WSGI-compatible Web server. Here's how to run Django on various server arrangements.
Apache with mod_python
See the official documentation. you can also look at the django_apache_and_mod_rewrite small tutorial.
Apache with FastCGI
See the official documentation.
Mac OS X users, see Django with FCGI on OS X.
lighttpd with Apache
See this page.
lighttpd with FastCGI
See the official documentation.
Django/lighttpd/FastCGI instructions for use on TextDrive shared hosting accounts are also available.
Multiple versions with FastCGI
FastCGI init scripts
Twisted.web2
See #172.
TooFPy
See the description in the trac-wiki for how to combine them. TooFPy is a pure-python webserver with focus on the creation of web services.
The ToofPyAndDjango link is dead.
Apache with SCGI
SCGI can be used with Apache like this. It builds on stuff from the Apache+FCGI documentation above. The material at simon.bofh.ms has been hard to get - server sometimes responds, sometimes not IME. In any event, #3047 has patches, and seems to be on track to become the official way to do SCGI with Django.
nginx
See Django on nginx and Start Django with nginx.
lighttpd with SCGI
See Running Django using SCGI through LightTPD.
Django behind/inside Zope
It's possible to query a Django site from Zope or Plone and return the result. This allows you to include a Django site inside a pre-existing Zope/Plone site. It's good for custom content that you don't want to use existing Zope technologies to develop. For the code, see this partly documented file. It's in a temporary location for the time being; for more info, e-mail jeff (at) bitprophet (dot) org.
CGI
Running Django as a traditional CGI is possible and would work the same as running any other sort of Python CGI script, but is generally not recommended.
With traditional CGI, the program which will be run -- in this case, Django plus a Django-powered application -- is loaded from disk into memory each time a request is served, which results in a significant amount of processing overhead and much slower responses. FastCGI and SCGI, in contrast, load the code only once -- when the server starts up -- and keep it in memory as long as the server is running, resulting in much faster responses.
If that hasn't put you off and you still need CGI, take a look at #2407.
WSGI with the CherryPy Server
see Run your Django app with the CherryPy server - DjangoCerise.
Django built-in development server
See the official documentation.