CouchDB安装教程
来源:互联网 发布:linux运行速度 编辑:程序博客网 时间:2024/05/20 14:43
转自:http://www.codesky.net/article/200909/175483.html
CouchDB现在很是火热,已经获得了IBM的资助,成为Apache下的一个子项目, CouchDB是用Erlang开发,安装平台采用的是Ubuntu, 但应该也可以在其他Linux平台上使用
先下载CouchDB安装文件,源去CouchDB的官网下吧,版本为apache-couchdb-1.6.0.tar.gz
http://couchdb.apache.org/downloads.html
可能由于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;
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
启动报错:
$ 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发展越来越好。
- CouchDB安装教程
- CouchDB系列 - 安装CouchDB
- CouchDB安装
- 安装CouchDB
- couchDB安装
- ubuntu 安装 couchdb
- Centos安装CouchDB
- mac 安装 CouchDB
- 在Ubuntu上安装CouchDB
- CouchDB Ubuntu Linux Server 安装
- 在CentOS 5.4上安装CouchDB
- Fedora 16下安装CouchDB 1.2.0
- CouchDB在window平台安装使用笔记
- 探索 CouchDB
- CouchDB - Introduction
- 【NOSQL】couchDB
- 什么是CouchDB?
- CouchDB introduction
- mac install yaf (php php-fpm)
- 使用Eclipse看Android代码
- UVa 11624 Fire! bfs
- Yii图片上传生成缩略图
- win8.1开发之旅(二):XAML之文件路径问题
- CouchDB安装教程
- mysql left join on and
- 程序员到CIO
- Could not evaluate Expression' Debugger Abnormality in Visual Studio 2013 '
- 分布式搜索elasticsearch java API 之(四)------删除索引数据
- myeclipse中的项目层结构怎么设置为树形
- ZOJ1002
- 第2章 循环结构程序设计
- 远程软件升级(http协议)