1.需要重新安装couchdb,原来安装过程忘记了,没有做笔记,只记住一些遇到的问题,这次需要重新在安装一次
安装的环境:
centos 6,couchdb 1.1.2(最新版本为2.2.0)
安装过程:
1.下载软件包:apache-couchdb-1.1.2.tar.gz
2.解压包:
tar zxf apache-couchdb-1.1.2.tar.gz
cd apache-couchdb-1.1.2
./configure --prefix=/usr/local/couchdb
此时后报错:
configure: error: Could not find the js library.Is the Mozilla SpiderMonkey library installed?
需要先安装SpiderMonkey,这是一个JS的引擎由Mozilla基金维护,安装不难,下载地址
wget http://ftp.mozilla.org/pub/mozilla.org/js/
下载了1.7那个,然后解压,进入js/src,
命令:make BUILD_OPT=1 -f Makefile.ref
make BUILD_OPT=1 JS_DIST=/usr/local -f Makefile.ref export
如果couchdb版本为1.1.1或者更低,需要下载185版本的
再次安装命令为: ./configure --with-js-lib=/usr/local/spidermonkey/lib --with-js-include=/usr/local/spidermonkey/include
3.再次执行
./configure --prefix=/usr/local/couchdb
4.make
报错:
=ERROR REPORT==== 7-Sep-2018::10:46:25 ===
Loading of /usr/local/lib/erlang
b/compiler-7.0.4/ebin/compile.beam failed: badfile
=ERROR REPORT==== 7-Sep-2018::10:46:25 ===
beam/beam_load.c(1351): Error loading module compile:
use of opcode 153; this emulator supports only up to 152
报错的原因是:系统中/usr/local/lib/erlang中存在多个erts-* 文件系统不知道该引用哪个库造成的
解决方法:
1)将原来的/usr/local/lib/erlang改名,重新安装erlang
2)此处安装的是:otp_src_R14B.tar.gz 下载地址:http://erlang.org/download
3)解压之后,直接./configure && make && make install
5.make &&make install
6.修改配置文件:couchdb/etc/couch/default.ini文件中的bind_address=127.0.0.1改为192.168.9.204(主机IP)或者0.0.0.0
7.修改防火墙配置,放开5984端口
8.启动couchdb: /usr/local/couchdb/bin/couchdb -b
启动界面:
9.web界面访问:http://192.168.9.204:5984/_utils/index.html
遇到其他的问题:
1.Could not find the `erl' executable. Is Erlang installed?
安装erl 命令:yum install erlang-nox erlang-dev
2.The icu-config script could not be found.
命令:apt-get install libicu-dev
服务启动参数:
启动服务: bin/couchdb &
-u 指定用户启动
-h : 显示帮助信息
-V : 显示版本信息,然后退出
-a FILE :添加单个配置文件到配置链表
-A DIR :添加包含有配置文件的文件夹到配置链表
-n reset configuration file chain (including system default)
-c :显示配置文件列表然后退出
-i :启动服务器,并使用Erlang的交互shell
-b :作为后台程序启动
-p FILE set the background PID FILE (overrides system default)
-r SECONDS respawn background process after SECONDS (defaults to no espawn)
-o FILE redirect background stdout to FILE (defaults to $STDOUT_FILE)
-e FILE redirect background stderr to FILE (defaults to $STDERR_FILE)
-s :显示后台运行的进程相关信息(前台运行的不能检测到)
-k kill the background process, will respawn if needed
-d : 关闭后台运行的CouchDB(前台运行的不能检测到)