精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-02-05
最后修改:2009-02-05
其实配置蛮简单的, 修改/etc/apache2/httpd.conf, 加入以下片段。 Alias /site_media /home/denny/zoomino/website/zoomino_media <Location "/"> SetHandler python-program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE zoomino.settings # PythonOption django.root / PythonDebug On PythonPath "sys.path +['/home/denny']" </Location> <Location "/site_media"> SetHandler None </Location> 项目位于/home/denny,这里要注意PythonPath, 这里不是设置/home/denny/zoomino而且project dir的上一级目录, 也就是你运行django-admin.py startproject的当前目录。如果你想在开发的时候自动定位你的template dir,请看这篇文章http://dengyin2000.iteye.com/blog/323391。 django虽然把可以处理静态文件,但是django内置的web server很差,所以发布的时候需要用apache这样的handle。Alias /site_media /home/denny/zoomino/website/zoomino_media 这句定义资源文件的路径和映射的url。 然后我们把django项目映射到根url“/”上。 因为我把django映射到了根上, 所以最后一段肯定要加,要不然资源文件会被django handle了那肯定是要报错的。 OK,最后把settings.py的DEBUG设成False, 重启apache就行了。 如何在开发的时候处理静态文件请看。 http://docs.djangoproject.com/en/dev/howto/static-files/#howto-static-files, 再结合我的这篇文章http://dengyin2000.iteye.com/blog/323391定位你的static files就完美了。 参考:http://docs.djangoproject.com/en/dev/topics/install/#database-installation http://docs.djangoproject.com/en/dev/intro/install/#intro-install http://docs.djangoproject.com/en/dev/howto/deployment/modpython/#howto-deployment-modpython 安装apache mod-python http://www.howtoforge.com/embedding-python-in-apache2-with-mod_python-debian-ubuntu-fedora-centos-mandriva-opensuse 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-02-05
赞,不过用nginx效率或许会高一些?
其实django的部署我看好mod_wsgi。wsgiMS比apache module设计合理一些。。。 所以无论是nginx的mod_wsgi或者是apache的mod_wsgi都可以试试看。。。 |
|
返回顶楼 | |
发表时间:2009-02-05
把django以fastcgi的形式部署在lighttpd下面,链接的跳转会出现很诡异的问题,如果一个链接 是/post/1/可以正常跳转,但是如果写成/post/1 那么就会跳转到 /mysite.fcgi/post/1 那么当然是404了
有时候在admin下的操作老是会跳到 /mysite.fcgi/xxxxx/xxx,比如说我一个增加的操作以后,应该跳到 /admin/post/1 结果是跳到 /mysite.fcgi/admin/post/1 就是404 更奇怪的是,我在同样的配置,在linux下面只是在管理后台登陆的时侯这样跳转,其它时侯并不。但是在windows下面竞然很多链接会这样跳,都是增加操作。完全没有道理。 有谁遇见过这样的问题。 $HTTP["host"] == "202.109.130.80" { server.document-root="/home/vansention/workspace/soft/" fastcgi.server = ( "/mysite.fcgi"=>( "main"=>( "host" =>"127.0.0.1", "port" => 3303, "check-local"=>"disable" ) ) , ) alias.url += ( "/media/" => "/usr/lib/python2.5/site-packages/django/contrib/admin/media/", "/static/" => "/home/vansention/workspace/soft/static/" ) url.rewrite-once = ( "^(/media.*)$" => "$1", "^(/static.*)$" => "$1", "^/favicon\.ico$" => "/media/favicon.ico", "^(/.*)$" => "/mysite.fcgi$1", ) } |
|
返回顶楼 | |
发表时间:2009-02-05
范三山 写道 把django以fastcgi的形式部署在lighttpd下面,链接的跳转会出现很诡异的问题,如果一个链接 是/post/1/可以正常跳转,但是如果写成/post/1 那么就会跳转到 /mysite.fcgi/post/1 那么当然是404了
有时候在admin下的操作老是会跳到 /mysite.fcgi/xxxxx/xxx,比如说我一个增加的操作以后,应该跳到 /admin/post/1 结果是跳到 /mysite.fcgi/admin/post/1 就是404 更奇怪的是,我在同样的配置,在linux下面只是在管理后台登陆的时侯这样跳转,其它时侯并不。但是在windows下面竞然很多链接会这样跳,都是增加操作。完全没有道理。 有谁遇见过这样的问题。 $HTTP["host"] == "202.109.130.80" { server.document-root="/home/vansention/workspace/soft/" fastcgi.server = ( "/mysite.fcgi"=>( "main"=>( "host" =>"127.0.0.1", "port" => 3303, "check-local"=>"disable" ) ) , ) alias.url += ( "/media/" => "/usr/lib/python2.5/site-packages/django/contrib/admin/media/", "/static/" => "/home/vansention/workspace/soft/static/" ) url.rewrite-once = ( "^(/media.*)$" => "$1", "^(/static.*)$" => "$1", "^/favicon\.ico$" => "/media/favicon.ico", "^(/.*)$" => "/mysite.fcgi$1", ) } 说实话,我在玩django的时候也出现了这个问题。 我分析是这样的,不带/的地址会被lighttpd返回301,然后重新请求,但是这个时候lighttpd返回给浏览器的地址是这样的/mysite.fcgi/xxxxx/xxx,为什么是这个地址,因为之前"^(/.*)$" => "/mysite.fcgi$1",这句导致重定向的地址变成了/mysite.fcgi/xxxxx/xxx,而不是在原来的地址后加一个/这么简单,所以我觉得比较好的方案是破坏lighttpd对默认没有/的地址返回301状态的行为。 比如没有/的urlrewrite一下自动加上/ |
|
返回顶楼 | |
发表时间:2009-02-06
没有试过lighthttpd 其实用apache也蛮方便的嘛。 性能差距有这么大吗?
|
|
返回顶楼 | |
发表时间:2009-02-06
dengyin2000 写道 没有试过lighthttpd 其实用apache也蛮方便的嘛。 性能差距有这么大吗?
apache 配集群方便么 |
|
返回顶楼 | |
发表时间:2009-02-06
呵呵 不错 收藏 过一阵要用这个
|
|
返回顶楼 | |
发表时间:2009-02-06
剑 事 写道 dengyin2000 写道 没有试过lighthttpd 其实用apache也蛮方便的嘛。 性能差距有这么大吗?
apache 配集群方便么 apache集群肯定方便吧。 前面一个loadblance就是了。 django是SNA的, session又不用复制。 |
|
返回顶楼 | |
发表时间:2009-02-08
django部署实在麻烦了点
|
|
返回顶楼 | |
发表时间:2009-02-08
范三山 写道 django部署实在麻烦了点 其实应该还好吧, 主要一步就是要把静态资源也需要部署。不过比起java的一个war包稍微麻烦点了。 |
|
返回顶楼 | |