在Lighttpd服务器中运行Django应用的方法
lighttpd(http://www.djangoproject.com/r/lighttpd/)是一个轻量级的Web服务器,通常被用来提供静态页面的访问。它天生支持FastCGI,因此除非你的站点需要一些Apache特有的特性,否则,lighttpd对于静态和动态页面来说都是理想的选择。
确保mod_fastcgi在模块列表中,它需要出现在mod_rewrite和mod_access,但是要在mod_accesslog之前。
将下面的内容添加到你的lighttpd的配置文件中:
server.document-root="/home/user/public_html" fastcgi.server=( "/mysite.fcgi"=>( "main"=>( #Usehost/portinsteadofsocketforTCPfastcgi #"host"=>"127.0.0.1", #"port"=>3033, "socket"=>"/home/user/mysite.sock", "check-local"=>"disable", ) ), ) alias.url=( "/media/"=>"/home/user/django/contrib/admin/media/", ) url.rewrite-once=( "^(/media.*)$"=>"$1", "^/favicon\.ico$"=>"/media/favicon.ico", "^(/.*)$"=>"/mysite.fcgi$1", )
在一个lighttpd进程中运行多个Django站点
lighttpd允许你使用条件配置来为每个站点分别提供设置。为了支持FastCGI的多站点,只需要在FastCGI的配置文件中,为每个站点分别建立条件配置项:
#Ifthehostnameis'www.example1.com'... $HTTP["host"]=="www.example1.com"{ server.document-root="/foo/site1" fastcgi.server=( ... ) ... } #Ifthehostnameis'www.example2.com'... $HTTP["host"]=="www.example2.com"{ server.document-root="/foo/site2" fastcgi.server=( ... ) ... }
你也可以通过fastcgi.server中指定多个入口,在同一个站点上实现多个Django安装。请为每一个安装指定一个FastCGI主机。