基于mongodb,django-nonrel,NGinx,Green Unicorn搭建Django nosql应用(一)

因项目需要使用到mongodb,所以想搭建下基于Django下的nosql应用框架。其主要为网上的一个基于django修改后的一个针对mongodb的engine,实现其针对mongodb的各类数据查询,删除,新增等操作,让原先的django程序也能很好地去适应针对mongodb的操作,代码变化比较小,还是挺容易入手,不用写那么多针对mongdb的特定查询sql等,可以直接通过raw_query进行类似原先的查询。

以下为各软件说明:

Django-nonrel:Django 1.3支持nosql数据的版本,实际就是Django,只是作者修改了大概100多行针对nosql的代码

djangotoolbox:一些针对nosql Django的常用类,包括一些onetomany等关系字段等

pymongo:最基础针对mongodb的实现python库

Django MongoDB Engine:针对mongodb在django上的engine,可以直接在settings.py中进行配置即可使用,很是方便,提供的方法也挺多。它依赖以上的3个类库。

以下则为安装步骤(系统环境为ubuntu11.0):

1、先安装python的类似apt-get的程序pip。

 sudo apt-get  install python-pip 

2、使用virtualenv安装python的虚拟环境,这样避免我们的python类库下乱七八糟,也方便以后的维护管理。

 sudo pip  install virtualenv 

3、启动虚拟环境,这样基于python的操作都在这个虚拟环境里面。


virtualenv --no-site-packages django_app

cd django_app

source bin/activate

4、安装hg及git,如果不安装这个后续的安装会提示安装失败,无法从程序的github或其它版本服务器里获取程序。

5、安装Django-nonrel,直接使用pip 从网上安装。本地文件上传安装的话也需要在虚拟环境中进行python安装,另注意不要随意使用sudo,可能会导致其它意想不到的问题。

pip install hg+https://bitbucket.org/wkornewald/django-nonrel

6、安装djangotoolbox,同上面的pip安装。

pip install hg+https://bitbucket.org/wkornewald/djangotoolbox

7、安装gcc及python-dev.为什么先安装参照第八条。

8、安装Django MongoDB Engine。同上面的pip安装,只是安装地址是放在git上的。另外在安装mongodb engine的时候会安装依赖的pymongo,如果从来没有安装过gcc及python-dev,会出现相关的编译错误导致无法.如找不到gcc,或者找不到python.h等错误。所以强烈建议先安装gcc及python-dev.

pip install git+https://github.com/django-nonrel/mongodb-engine

9、安装Green Unicorn。Green Unicorn为一个python WSGI服务器,比原先的CGI及FastCGI,mod_python快很多。搭配nginx更是不错的一个选择。

pip install django gunicorn

10、安装完毕后,创建django project ,然后unicorn运行测试是否安装成功。


django-admin.py startproject app
cd app
gunicorn_django -b 0.0.0.0:8000

至此django nosql应该搭建就差不多了,mongodb及nginx明天继续搭建。

本文固定链接: http://www.higis.org/2012/04/24/django-nosql-with-nginx-mongodb/ | Hi,GIS


该日志由 H.J 于2012年04月24日发表在 服务器 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 基于mongodb,django-nonrel,NGinx,Green Unicorn搭建Django nosql应用(一) | Hi,GIS
关键字: , , , ,

基于mongodb,django-nonrel,NGinx,Green Unicorn搭建Django nosql应用(一):等您坐沙发呢!

发表评论

快捷键:Ctrl+Enter