CouchDB的安装

CouchDB入门教程,不全面,但是对没有任何经验的人还是有一定的实际意义。
原文链接:http://www.ccok.me/page/read/121

CouchDB现在很是火热,已经获得了IBM的资助,成为Apache下的一个子项目, CouchDB是用Erlang开发,关于CouchDB是干什么的,您还是google吧,这里就不再copy了,今天简单做了下测试,安装平台采用的是Debian, 但应该也可以在其他Linux平台上使用,安装前首先要安装Erlang, Erlang的安装在之前的日志中有记录,摸我

可能由于CouchDB是一个新的项目,Debian的仓库中还未收录,因此通过apt是无法找到的,所以这里就采用源码包的形式编译安装,编译需要有gcc, make等工具,先安装gcc:

#apt-get install gcc libc6-dev make tmake autogen automake build-essential indent intltool

然后是CouchDB的依赖包

#apt-get install erlang libicu36 libicu36-dev libmozjs-dev
 

上面需要说明下的是在CouchDB的README中说是要安装libicu38, 但shitou在安装时报错说米有找到,后来apt-file search libicu后才发现不是libicu38,反倒有libicu36的包,装吧

最后就是CouchDB了, 源去CouchDB的官网下吧, 这里用的是0.8.1

#tar zxvf apache-couchdb-*.tar.gz
#cd apache-couchdb-*
#./configure --prefix=/usr/local/couchdb
#make && make install

OK, 安装完毕

官方推荐为了安全的因素不要用root来运行CouchDB, 因此需要单独建立用户

#groupadd couchdb
#useradd couchdb -g couchdb -d /usr/local/couchdb/var/lib/couchdb
#chown -R couchdb /usr/local/couchdb/var

启动

#su - couchdb -c "/usr/local/couchdb/bin/couchdb -b"

-b为后台运行CouchDB服务
-d为关闭couchdb服务

CouchDB默认的配置文件在/usr/local/couchdb/etc/couchdb/couch.ini中, 端口为5984

紧接着赶紧测试下啦,shitou用的是ruby, 连接的库用的是官方网站的代码, couchdb_ruby.rb:

require 'net/http'

module Couch

  class Server
    def initialize(host, port, options = nil)
      @host = host;
      @port = port;
      @options = options;
    end

    def delete(uri)
      request(Net::HTTP::Delete.new(uri))
    end

    def get(uri)
      request(Net::HTTP::Get.new(uri))
    end

    def put(uri, json)
      req = Net::HTTP::Put.new(uri)
      req["content-type"] = "application/json"
      req.body = json
      request(req)
    end

    def post(uri, json)
      req = Net::HTTP::Post.new(uri)
      req["content-type"] = "application/json"
      req.body = json
      request(req)
    end

    def request(req)
      res = Net::HTTP.start(@host, @port) {|http|
        http.request(req)
      }
      if (not res.kind_of?(Net::HTTPSuccess))
        handle_error(req, res)
      end
      res
    end

    private

    def handle_error(req, res)
      e = RuntimeError.new("#{res.code}:#{res.message}\nMETHOD:" +
           "#{req.method}\nURI:#{req.path}\n#{res.body}")
      raise e
    end
  end
end

测试是在windows上进行的
然后进入ruby的irb

#irb
>require 'couchdb_ruby'
=>true
>server = Couch::Server.new('192.168.0.77', '5984')
=>#
>server.put "/testdb/", ""
=>Errno:.....

出错啦????目标主机被拒绝, 就是没连上CouchDB Server了, 后来查了下CouchDB的配置文件:
修改/usr/local/couchdb/etc/couchdb/couch.ini的监听端口BindAddress为本地的IP,不能为127.0.0.1, 否则其他机器不能连接

修改保存后关闭,启动CouchDB后就可以正常使用了,

好了, 测试就到这里吧,感觉CouchDB用起来还是蛮简单快捷的, 提供几乎现在所有的语言支持,希望CouchDB发展越来越好。

关于CouchDB的进一步使用再慢慢研究了- -||

anyShare分享此文章的同学,将有机会送我iphone5!
          

无觅相关文章插件,快速提升流量

分类 CouchDB · tag , ,