lighttpd整合django(折腾了好几天终于搞定了)

阅读更多

 

 

折腾了好几天终于搞定了

lighttpd的设置如下

 

 url.rewrite-once = ( 
     "^(/media.*)$" => "$1",
      "^(/admin_media.*)$" => "$1",  (  这个地方容易犯错误,需要把django admin 的css link 到 项目目录下)
     "^(/.*)" => "/mysite.fcgi$1" , (这里折腾最长时间 ,后来sky 告诉我 设置 setting 文件中的 FORCE_SCRIPT_NAME = "")
      "^/favicon.ico$" => "/media/favicon.ico", 
    )
    fastcgi.server = (
     "/mysite.fcgi" => (
    "main" => (
    "socket" => "/home/web.sock",
    "check-local" => "disable",
    )
    ),

 

另外 :写了 一个适合自己服务器的脚本 用来启动 fastcgi

runfastcgi
#!/bin/sh
PROJDIR="/home/hqmank/www/xindico"
PIDFILE="$PROJDIR/web.pid"
SOCKET="$PROJDIR/web.sock"

cd $PROJDIR
if [ -f $PIDFILE ]; then
kill cat -- $PIDFILE
rm -f — $PIDFILE
fi
exec /usr/bin/env -   PYTHONPATH="../python:.."   ./manage.py runfcgi socket=$SOCKET pidfile=$PIDFILE 
 

 

 

 

 

restart.sh
#!/bin/bash
sudo cat web.pid |xargs kill -9 ; rm -rf web.pid ;sudo killall python;sudo ./runfastcgi ;sudo chown www-data.www-data web.sock


 

在ubuntu 上部署的话 不要忘记 装这些 python包

 

python-mysqldb python-flup python-imaging

 

 

参考了:

http://rfc1437.de/page/django-lighttpd-and-fcgi-second-take/

 

http://www.maniacmartin.com/2008/8/8/migrating-django-and-cherrypy-to-lighttpd/

 

 

 

 

 

你可能感兴趣的:(Django,lighttpd,Python,Socket,Web)