本文共 2546 字,大约阅读时间需要 8 分钟。
转自:
CouchDB现在很是火热,已经获得了IBM的资助,成为Apache下的一个子项目, CouchDB是用Erlang开发,安装平台采用的是Ubuntu, 但应该也可以在其他Linux平台上使用
先下载CouchDB安装文件,源去CouchDB的官网下吧,版本为apache-couchdb-1.6.0.tar.gz
可能由于CouchDB是一个新的项目,Debian的仓库中还未收录,因此通过apt是无法找到的,所以这里就采用源码包的形式编译安装,是CouchDB的依赖包
sudo apt-get build-dep couchdb
sudo apt-get install libmozjs-dev libicu-dev libcurl4-gnutls-dev libtool(在ubuntu14.04下可能会提示libmozjs-dev不存在,可以忽略)
上面需要说明下的是在CouchDB的README中说是要安装libicu38, 但shitou在安装时报错说米有找到,后来apt-file search libicu后才发现不是libicu38,反倒有libicu36的包,装吧
2.解压缩
tar -zxvf apache-couchdb-1.6.0.tar.gz
3.开始安装
cd apache-couchdb-0.9.1
./configure
make
sudo make install
OK, 安装完毕
官方推荐为了安全的因素不要用root来运行CouchDB, 因此需要单独建立用户
4.启动couchdb
sudo couchdb
5.访问:http://127.0.0.1:5984/_utils/
-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; enddef delete(uri)
request(Net::HTTP::Delete.new(uri)) enddef get(uri)
request(Net::HTTP::Get.new(uri)) enddef put(uri, json)
req = Net::HTTP::Put.new(uri) req["content-type"] = "application/json" req.body = json request(req) enddef post(uri, json)
req = Net::HTTP::Post.new(uri) req["content-type"] = "application/json" req.body = json request(req) enddef 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 endprivate
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启动报错:
$ bin/couchdb Apache CouchDB 0.9.0a691361-incubating (LogLevel=info) is starting. {"init terminating in do_boot",{ {badmatch,{error,shutdown}},[{couch_server_sup,start_server,1},{erl_eval,do_apply,5},{erl_eval,exprs,5},{init,start_it,1},{init,start_em,1}]}} Crash dump was written to: erl_crash.dump init terminating in do_boot () 查了一下官方wiki: 原来是安装文件夹的权限问题 解决办法: sudo adduser couchdb chown -R couchdb:couchdb /usr/local/etc/couchdb chown -R couchdb:couchdb /usr/local/var/lib/couchdb chown -R couchdb:couchdb /usr/local/var/log/couchdb chown -R couchdb:couchdb /usr/local/var/run chmod -R 0770 /usr/local/etc/couchdb chmod -R 0770 /usr/local/var/lib/couchdb chmod -R 0770 /usr/local/var/log/couchdb chmod -R 0770 /usr/local/var/run 再此启动,看到欢迎界面,所有的testsuite run success,大功告成!启动CouchDB后就可以正常使用了,感觉CouchDB用起来还是蛮简单快捷的, 提供几乎现在所有的语言支持,希望CouchDB发展越来越好。
转载地址:http://lnspi.baihongyu.com/