浏览 4263 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-05-07
最后修改:2009-05-07
本文假定已正确安装python和django,系统为ubuntu9.04 light footprint + httpd = Lighttpd 可以读成Lighty,是由德国人 Jan Kneschke 领导开发的,基于BSD许可的开源WEB服务器软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境。具有非常低的内存开销,CPU占用率低,效能好,以及丰富的模块等特点。Lighttpd 是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能。因此对于那些负载非常高的WEB服务器选用 Lighttpd 会是非常完美的解决方案。 1.安装lighttpd 如果你用的是ubuntu,用命令sudo apt-get install lighttpd即可。从源码安装的方法如下: 解压安装文件(eg:lighttpd-1.5.0-r1691.tar.gz)并切换到该目录,在终端执行: ./configure --prefix=/usr/local/lighttpd make sudo make install 其中prefix参数指定lighttpd的安装路径 安装后配置: sudo cp doc/rc.lighttpd /etc/init.d/lighttpd sudo mkdir /etc/lighttpd sudo cp doc/lighttpd.conf /etc/lighttpd/lighttpd.conf sudo gedit /etc/init.d/lighttpd 将启动脚本换为ubuntu系统的,内容见:http://redmine.lighttpd.net/wiki/1/ScriptsUbuntu 2.配置lighttpd sudo gedit /etc/lighttpd/lighttpd.conf server.modules:取消如下模块的注释mod_rewrite,mod_access,mod_fastcgi,mod_simple_vhost,mod_accesslog 其中mod_fastcgi应在mod_rewrite,mod_access之后,在mod_accesslog之前 #server.document-root指向你的django项目的目录 #例如我在/home/ruby目录下django-admin.py startproject mysite,那么server.document-root = "/home/ruby/mysite" server.document-root = "/home/ruby/mysite" fastcgi.server = ( #这里mysite.fcgi文件可以不存在,可任意命名,但要和下文(url.rewrite-once)保持一致 "/mysite.fcgi" => ( "main" => ( # Use host / port instead of socket for TCP fastcgi #指定重定向的django的访问由谁来处理,这里host和port要和运行fcgi的参数对应 #如以如下参数运行fcgi:./manage.py runfcgi method=threaded host=127.0.0.1 port=3033 "host" => "127.0.0.1", "port" => 3033, #"socket" => "/home/ruby/mysite/mysite.sock", "check-local" => "disable", ) ), ) alias.url = ( #指向admin的midia文件夹,当然你也可以在项目主目录下建立该文件夹的符号链接,则该参数指向项目主目录 "/media/" => "/path/to/django_home/django/contrib/admin/media/", ) url.rewrite-once = ( "^(/media.*)$" => "$1", "^/favicon\.ico$" => "/media/favicon.ico", "^(/.*)$" => "/mysite.fcgi$1", #$1是传给django的fcgi的url参数 ) 3.配置完毕,可以运行服务了 sudo /etc/init.d/lighttpd start #启动lighttpd cd /home/ruby/mysite #切到项目路径下 #以线程方式运行fcgi服务,其中host和port参数要和上面lighttpd.conf中定义的一致 ./manage.py runfcgi method=threaded host=127.0.0.1 port=3033 Ok,打开浏览器,输入http://127.0.0.1,就可以看到你的index页面了 PS:django把http://127.0.0.1/admin和http://127.0.0.1/admin/解析为不同的路径,/admin/可以正常跳转,而/admin则是跳到/mysite.fcgi/admin/,当然是404了。通常在settings.py里加入FORCE_SCRIPT_NAME = '' 即可,可强行在url后加/ 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |