作者:手机用户2502875355 | 来源:互联网 | 2014-05-28 16:53
以前便接触过mongodb,对于非关系型数据库我还是很期待的,目前正在写一个项目,原本打算使用php+mysql+nginx实现,偶然看到nodejs可以实现web服务器,而且性能强大,加上mongodb的json数据存储方式,便有点心动了。毕竟我也是一个新手,只能让未接触过mongod
以前便接触过
mongodb,对于非关系型数据库我还是很期待的,目前正在写一个项目,原本打算使用php+
mysql+
nginx实现,偶然看到nodejs可以实现web服务器,而且性能强大,加上
mongodb的json数据存储方式,便有点心动了。
毕竟我也是一个新手,只能让未接触过mongodb和nodejs的同学有动力去研究它,更希望能够抛砖引玉,让更多的人受益,这篇文章只适用于新手,有点基础的就不用看了。
先说说mongodb如何安装吧
我使用
centos6.1版本,原本下载了一个tgz包,貌似安装不上,最后只能求助官网直接用yum安装了,安装的版本是2.0.6,貌似也是最稳定版本了,2.0.7虽然有tgz包,貌似是rc1(最终测试版)。话不多说,直入主题。
创建文件 /etc/yum.repos.d/10gen.rep
在其中写入
[10gen]
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64
(64位选择这个url)
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686
(32位)
gpgcheck=0
enabled=1
目的是给yum创造一个mongodb源
下面我们就可以直接 使用这个yum源了,在电脑上敲如下命令
yum install mongo-10gen mongo-10gen-server
这样,我们的mongodb就安装完成了,
service mongod start 启动mongodb
chkconfig mongod on 开机启动mongodb
mongodb默认开启方式不使用账号密码,而且是noauth方式开启,它的好处就是省去了账号密码的填入,但是安全性极差,所以我们要创建账号密码,并使之连接认证。
首先需要在未认证的情况下创建账号密码,从而在开启的时候我们才可以使用这个密码来连接mongodb,mongodb有全局用户和数据库用户,这里我们只创建一个全局用户,如果你们需要数据库用户,可以百度一下,也非常简单。下面是创建一个全局用户的示例:
[root@localhost /]# mongo
MongoDB shell version: 2.0.6
connecting to: test
> use admin
switched to db admin
> db.addUser('luoage','22222');
{ "n" : 0, "connectionId" : 2, "err" : null, "ok" : 1 }
{
"user" : "luoage",
"readOnly" : false,
"pwd" : "a4f320f00c1961202fb84940a54314a2",
"_id" : ObjectId("501e7234c884f812d0b7d8fa")
}
>
创建的用户是luoage密码是22222下面可以exit出来了,然后vi /etc/mongod.conf
去掉auth=true前面的#符号,重启mongodb,service mongod restart.
这样一个崭新的mongodb就出来了,命令我不多说,百度上随便都可以找到。不过我想点出来一点,mongodb存在数据库和集合(collection),在mysql中我们使用某个数据库可以使用这个命令,use
mysqlDatabase ,mongodb也是一样,但是当你use
luoage的时候,如果这个数据库不存在,则被创建。集合相当于数据表,当我们use数据库的时候,db类默认默认为luoage,我们可以使用db.createCollection('users')来创建users集合。
下面安装nodejs
nodejs当前最新版本是0.9
wget http://nodejs.org/dist/v0.9.0/node-v0.9.0.tar.gz
因为我的centos是6.1mini版所以这里还需要yum install gcc gcc-c++ make
等编译软件,和wegt,openssl-devel
并且,nodejs需哟2.4以上的python的支持,所以还要看看版本是否达到2.4,我的是2.6.6
./configure
make
make install
OK !!!
目前nodej有express框架,和很多html模板引擎,图片上传生成,验证码等都不是问题,成为高性能服务器指日可待。