A collection of Django links
http://code.djangoproject.com/wiki/DjangoResources
http://www.djangosnippets.org/
http://trac.studioquattro.biz/djangoutils/
http://trac.dedhost-sil-076.sil.at/trac/filebrowser/wiki
http://code.google.com/p/diamanda/
http://code.djangoproject.com/wiki/DjangoResources
http://code.djangoproject.com/wiki/AutoAllApps
http://simon.bofh.ms/cgi-bin/trac-django-projects.cgi/wiki/CmsProject
http://simon.bofh.ms/cgi-bin/trac-django-projects.cgi/wiki/DjangoStuff
Wiki and Mediawiki markup
http://www.djangosnippets.org/snippets/139/
Starting Django as a FastCGI server
Install Flup
http://www.saddi.com/software/flup/
wget http://www.saddi.com/software/flup/dist/flup-1.0.tar.gz tar xvzf flup-1.0.tar.gz cd flup-1.0 python setup.py install
Install mod_fastcgi
http://www.fastcgi.com/dist/
http://www.fastcgi.com/mod_fastcgi/INSTALL
wget http://www.fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz tar xvzf mod_fastcgi-2.4.6.tar.gz cd mod_fastcgi-2.4.6 cp Makefile.AP2 Makefile make top_dir=/usr/lib64/httpd make top_dir=/usr/lib64/httpd install
Alternatively if it can be built on a separate host:
cp mod_fastcgi-2.4.6/.libs/mod_fastcgi.so /usr/lib64/httpd/modules/
/etc/httpd/conf/httpd.conf:
LoadModule fastcgi_module modules/mod_fastcgi.so
Startup Script
# django django fastcgi server
#
# chkconfig: 2345 80 30
# description: django server
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
[ -f /etc/sysconfig/network ] && . /etc/sysconfig/network
PYTHON=/usr/bin/python2.4
PROJECTNAME=user
USER=user
SCRIPTNAME=/etc/init.d/django-$PROJECTNAME
INSTANCE_HOME=/home/user/public_html
PIDFILE=$INSTANCE_HOME/django-$PROJECTNAME.pid
LOCKFILE=$INSTANCE_HOME/django-$PROJECTNAME.lock
RETVAL=0
start() {
daemon --user=$USER "cd $INSTANCE_HOME ; \
$PYTHON manage.py runfcgi method=prefork \
host=127.0.0.1 port=9092 \
maxrequests=50 maxchildren=8 maxspare=3 minspare=1 \
pidfile=$PIDFILE"
RETVAL=$?
[ $RETVAL -eq 0 ] && touch $LOCKFILE
}
stop() {
if [ -f $PIDFILE ]
then
kill `cat $PIDFILE` && rm -f $LOCKFILE
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
RETVAL=$?
;;
status)
echo "No status info for $PROJECTNAME"
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|status}" >&2
exit 1
esac
exit 0
vhost configuration (one of the following):
<IfModule mod_fastcgi.c> # Connect to FastCGI via a socket / named pipe. FastCGIExternalServer /home/user/public_html/mysite.fcgi -socket /home/user/mysite.sock # Connect to FastCGI via a TCP host/port. FastCGIExternalServer /home/user/public_html/mysite.fcgi -host 127.0.0.1:3033 </IfModule> FastCGIExternalServer /home/user/public_html/mysite.fcgi -host 127.0.0.1:3033 Alias /media /usr/lib/python2.4/site-packages/django/contrib/admin/media RewriteEngine On RewriteRule ^/(media.*)$ /$1 [QSA,L,PT] RewriteRule ^/static_media/(.*)$ /home/user/public_html/static_media/$1 [L] RewriteRule ^/(.*)$ /home/user/public_html/mysite.fcgi/$1 [QSA,L]