博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CouchDB安装教程
阅读量:4120 次
发布时间:2019-05-25

本文共 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;
    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发展越来越好。

转载地址:http://lnspi.baihongyu.com/

你可能感兴趣的文章
Jupyter安装nbextensions,启动提示没有nbextensions库
查看>>
mysql 5.7以上版本的安装
查看>>
window下mysql 5.7 批量导入数据出错 error1290
查看>>
Mac中用matplotlib绘图,中文显示乱码
查看>>
matplotlib画图,x轴标签旋转
查看>>
解决使用 savefig 保存图片时的空白问题
查看>>
安装Statsmodels模块
查看>>
AttributeError: module 'requests' has no attribute 'get'
查看>>
python 3 爬起点中文网,简单分析
查看>>
Aria2绕开百度云的限速
查看>>
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
查看>>
Fatal error in launcher: Unable to create process using 'e:\program files\python 3.6.3\python.exe'
查看>>
Mysql 5.7及以上的版本里面没有password字段
查看>>
Mysql创建用户之后,没有刷新,导致无法在用户列表找到该用户
查看>>
mysql中利用binlog日志恢复数据
查看>>
mac电脑利用file和iconv命令修改文件编码
查看>>
拉勾网招聘数据分析
查看>>
python读写txt文件,并用jieba库进行中文分词
查看>>
Mac下文件Non-ISO extended-ASCII编码问题
查看>>
python安装scrapy爬虫框架,提示 error: command 'clang' failed with exit status 1
查看>>