lighttpd django配置

  1. 安装cgi的python包,叫 flup
  2. 建立一个hello.fcgi的文件

    #!/usr/bin/python
    import sys, os
    sys.path.insert(0, "/your dir/")
    os.environ['DJANGO_SETTINGS_MODULE'] = 'your modules.settings'

    from django.core.servers.fastcgi import runfastcgi
    runfastcgi(["method=threaded", "daemonize=false"])
  3. 配置lighttpd.conf 主要是修改如下
    server.modules              = (
                "mod_access",
                "mod_alias",
                "mod_compress",
                "mod_rewrite",
                "mod_fastcgi",
    #           "mod_redirect",
    #           "mod_evhost",
    #           "mod_usertrack",
    #           "mod_rrdtool",
    #           "mod_webdav",
    #           "mod_expire",
    #           "mod_flv_streaming",
    #           "mod_evasive",
                "mod_accesslog"
    )
    
     
server.document-root       = "/opt/development/hello"
fastcgi.server = (
    "/hello.fcgi" => (
        "main" => (
            "socket" => "/tmp/hello.sock",
            "check-local" => "disable"
        )
    )
)

url.rewrite = (
    "^(/.*)$" => "/hello.fcgi$1"
)

 

启动fastcgi 

#python manage.py  runfcgi method=prefork socket=/tmp/hello.sock pidfile=django.pid

重启lighttpd

/etc/init.d/lighttpd restart

其间遇到了问题,总出现 internal server error,最后看了lighttpd 错误日志,才发现是 /tmp/hello.sock的权限问题。至少要加上 rw权限

 

你可能感兴趣的:(django,socket,python,OS,lighttpd)